>>8687661>>8687702I mean, look, the nasfaq server obviously has a complete state of every player ongoing. The thing is, it doesn't currently have very severe time pressure to keep everything up to date. If I send a buy order and the server processes my coin change a second or two later, there's no problem.
The issue is that if you want the nasfaq server to handle autotrading then you're taking the distributed workload of a lot of machines right now - small, but essentially parallel workloads - and condensing it into one. Instead of checking 56 coins, now that microservice or whatever (you sure as hell aren't going to run it on the same processor as your main server) has to check whether (currently) 123k coins are off cooldown or not every single second, check whether, of those off cooldown, whether it is a buy/sell order or nothing, check the player's autotrader-side liquid balance and do some math to make sure they can actually make said automated orders, queue all the collected requests to the main server (if they're even using a message queue), and then deal with requests that failed for some reason ( e.g. coin prices changed so unable to purchase), then update autotrader-side liquid balance for all players who made a transaction. On the side, that process also has to receive changes from players looking to alter their planned orders.
And this whole process has to take less than a second a majority of the time.
On your own machine, if it takes more than a second to do this whole thing, it doesn't matter, it only affects you. From the server's perspective all that happened is you submitted one second later than expected. When together with others, what happened is "you" just bogged the orders of everyone else, and then processing their orders bogs others, and so on...
So that autotrader server is going to start lagging behind more and more until you wonder why you only sold a hundred coins in a day.
Maybe there's some better way to do it, but if I was the dev for that, wouldn't want to make any sort of time guarantees on it.
This is also probably why the dev probably suggested timed autotrader cycles. If it's timed you have ten minutes to do all this stuff instead of a single second, and if you make a change to your autotrader, too bad, it won't take effect until the next cycle.