Before Lobby comes and say that it's a no-no hear me out please

I love TheoTown and playing the game for quite some time. I love sim-city games and TheoTown is the best there is! One thing that I miss though is that I would like to play with my wife. I recently introduced her to the game and she played few hours non-stop the first day.
I would like to suggest NON-REAL-TIME multiplayer to the game that shouldn't be hard to implement. As a developer myself I have understanding how everything works and realize that for 1 developer implementing multiplayer is an insanely hard task. And from perspective of the City Simulation game it's stupidly hard in terms of "game mechanic".
But TheoTown have small uniqueness in this regard that makes everything really easy. On a MAP of the world you see different location, where you can start your cities. Those can be manipulated by different people, once at a time. It means that both can't enter same city at the same time and do anything with it. But me and my wife for example can start building nearby cities and when she is offline, I can enter her town and do something with it.
So it's definitely not ideal "online" solution, but for "LAN"-kind multiplayer should be great. That only people with login/password can enter that specific world.
It can work this way:
- Players will need to have login/reg/authentication option, google can be used for that.
- Player 1 set up name/password for a world, where name is the World name. Like Theonia for example - should be unique of course. So first come first serve basis.
- Player 1 level up first location to open up nearby locations
- Player 2+ enter same login/password to enter the same world
- When any Player stop playing or exit city - JSON of that city is sent to server DB and stored there.
- When any Player opens the app - it will synchronize all JSON changes.
- While Players are actively playing - data is synchronized every 30 minutes (and can be changed to 5-10-15-30-60 from settings). With option to on-click synchronization update.
Now here's the tricky and "hard" part:
- When Player 1 enters a city, request should be sent to server DB "locking down" this city, by user-id/session-id/mobile-id or whatever ID is possible to get from Java. I'm no Java/Android expert, sorry.
- Until city is locked, nobody else can join this city.
- In case of a game crash / mobile force turn off city will remain lock until someone from this world won't run synchronization again, if timestamp is > 30 minutes, lock is removed.
- If player leaves a city, lock is removed and JSON sent to server.
- Now in a worse case scenario when 2 players already entered a city and in case of synchronization error. Latest JSON that was sent to server should overrides other ones. So it's up to players, not to mess up each other cities. This can also be used for users who were playing with no internet and then connected to internet - latest JSON is considered "original"
This should be really easy to do. I can even help with API/Synchronization (non-client-app-related) part.
But because data needs to be stored somewhere, even though it's just a "text". It's still take some space and developer need to pay for such server. It can be behind paywall, like 3-5 EUR per world. With possibility to extend world location for additional payment. Like 3 small, 2 medium, 1 large location per additional 1 EUR.
To not make server go crazy, inactive worlds can be removed in 6 months time.
So there wouldn't be DDoS kind of attack on a server, there should be limit of 5 - 10 players per world.
I just love this game and would love to continue playing it as long as possible. And I'm up to help not only with words, but with actions (code) if required
