Server's side patch

From Citymania.org wiki
Jump to navigation Jump to search

Server's patch

Our servers use a patch to enhance gameplay a little, but main purpose is to provide backend to gather various game data to players.

Patch is designed so that servers are accessible for unpatched clients.

Main Features

Quest and goal system

Part of code which controls goals. Some data are gathered and evaluated according to the goal or quest and something can happen when the goal or quest is finished.

Precommand checks

This is used for denying certain commands to client, for example building on a place which virtually belongs to another company, like claimed town, or is forbidden on server, like buying bankrupted companies or building canals.

IRC connection

Simple IRC layer to join IRC server and recieve chat from other servers.

Mysql connection

MySQL++ library is used to send/recieve data from mysql server. In case of MySQL server inaccessibility, the game continues, but no data are stored and functions, which require data from database, will do nothing.

External ban system

Bans are stored in database and prevent banned players from joining to any other server, not just the one where the ban occured.

And some more smaller things that control the game flow.