The JCiv game is to be played over the network with a single server and one or more clients. The server maintains the game engine, GLOBAL CLOCK, and game state. The clients maintain each player's UNITs, BUILDINGs, BANK, and information about the visible MAP. In addition, the client maintains the player's UI, allowing the player to see state of the game, manipulate UNITs, issue COMMANDs, etc.
The server MUST ensure proper synchronization between clients and ensure that all events are atomic, no clients corrupt any other's data, etc. The server MUST NOT allow the game state to become corrupted, regardless of the number of clients or the load.
OPTIONAL RULE The designers may, at their option, offer a single-player mode in which the computer plays one or more opponents against the single player.