ID:152405
 
So, I'm working on this world sim game (Ariii.Citizen) and I have the better part of one city coded. Some of my play testers have offered to host the game as well so I got to thinking maybe I could code the game so that any player could host they're own city if they wanted to. Not sure how this would work though. Could I allow players to travel from my city (the instance of Citizen that I'm running) to a city hosted by someone else (a second instance of Citizen running on someone else's pc/server)?

I'm beginning to think I'm in over my head.
It's very possible, just look at Bomberman Arena.
Bomberman is quite nice.

So, if Citizen is hosted by others couldn't people alter the code in DreamMaker themselves and cheat. The security issues seem endless; letting people travel from my city instance to their hack of my game.

Could I allow someone to host Citizen without them having access to the source code?

Reworking the code to allow for cities to be created by players from the ground up seems both exhilerating and formidable.
In response to Ariii
People who host it generally don't have access to your code, you only need to send them the executable files
In response to KirbyAllStar
Neat. Thanks for the help. Now I need to look into how to transfer players from host to host. This should be fun.
In response to KirbyAllStar
But that doesn't stop them from being malicious and setting up a false copy of the game to transfer the user to.

A good idea would probably be to force each world to register with the central server. The central server then generates a unique ID, and sends it to the newly registered server, which then performs some operations on it and sends it back. The central server then performs the same operations on the unique ID that it sent the server, then compare the two. If they do not match, then the central server blacklists the world URL.

The above will work assuming you make it so that only the central server can attach to the hub by controlling the world.hub_password.