Asynchronous PvP server?

Hello :wave: I’m making an idle game with rts elements and want to add a pvp mode. Something like hearthstone battlegrounds, backpack battles, mechabellum etc. Units spawn, rush to the enemy and clash in battle without player input. I want to make it server authoritative, but have a rather limited budget. So I was wondering if I could do all the calculations of unit actions on the server at, say, 10x speed, and then just send both players a “replay” of the battle so they can see it on their side. I hope this will reduce the cost of server hosting. I think with this approach cheaper servers will be able to handle more calculations as they won’t have to wait for unit actions at “normal speed”, wasting cpu time, and will finish each match faster, but I would like some third party thoughts and opinions.

I would also appreciate some advice on how to organise the communication between client and server. I’m using C++ and Blueprints and wondering if I can make a headless build that will pull each player unit layout on startup and post “replay” (some text or binary data) to the cdn. Or run http listen server and accept requests with some input data and return “replay”. And all the other logic is just handled in the web server and database. The thing is to keep “match” server as small as possible and stateless to scale it horizontally.