Field manual
A technical overview of how the website, regional VMs, FC2SL, Wine, maps, configs, and console commands fit together.
How a website action reaches a hosted server
Browser
The browser keeps the signed-in session and sends server actions to local website API routes. Users never talk directly to the VM control API.
Website API
The website verifies the user session, chooses the requested server region, and forwards the action to the correct hosted backend.
Regional VM
Each location has its own backend service responsible for preparing files, starting server processes, checking status, and returning logs.
FC2SL wrapper
FC2SL launches and supervises the Far Cry 2 dedicated server through Wine, watches the server output, and helps deliver console commands.
What happens when users register or manage a server
Register
Creating an account also asks every hosted region to prepare the user's FC2 launch assets. If one region is temporarily unavailable, the account can still be created and the warning is shown separately.
Create Server
The chosen location, server name, passwords, rules, player limits, and map cycle are sent to the regional backend. The VM validates the map list, reserves a port, writes the dedicated server configuration, starts FC2SL, and stores the running status.
Start Existing
Starting an existing server reuses the saved server record. The backend checks whether the old process is still alive, refreshes the needed user launch assets, normalizes the server config, and starts the wrapper again.
Stop Or Delete
Stopping a server terminates the hosted process tree and marks the server offline. Deleting does the same cleanup first, then removes the server record from the VM.
What gets created or updated
User launch assets
On registration or first server use, the backend creates user-specific FC2 launch files. These let different accounts use their own server log and patch file names without users managing the game files manually.
Server record
The website keeps account-level server information, while each VM keeps the provider-side record used to manage the actual running process.
Server config
Settings from the create-server form become SetSetting lines in the Far Cry 2 dedicated server config: game mode, map cycle, weather, time of day, passwords, player limits, respawn values, and team rules.
Map storage
Uploaded maps are stored in a user folder and exposed to the map-cycle picker alongside shared maps. The backend validates that selected maps are available before writing the config.
Runtime logs
FC2SL writes wrapper logs and captures the dedicated server output. The console reads recent output from the matching server instance so users can troubleshoot launches and matches.
Process marker
The VM stores enough runtime state to know whether a server is still running, which process to stop, and whether the UI should show the server as online or offline.
How console commands are delivered
Console action
When a user sends a command from the panel, the website sends it to the server-specific command endpoint with the user's session attached.
Ownership check
The backend checks that the requested server belongs to the signed-in user and that it is currently running before attempting delivery.
Command staging
The command is staged where the Far Cry 2 dedicated server can read it, then the wrapper asks the server to execute the staged command.
Redundant delivery
Because the dedicated server is a Windows program running on a headless Linux machine, command delivery uses more than one input path for reliability.
Commands available inside the server
These are chat commands handled by FC2SL. They use the ? prefix and only work for names listed as server admins.
Player control
Kick a player from the server.
Kick and ban a player from the server.
Shuffle teams. Useful only once or twice per lobby, before the algorithm gets stuck.
Game mode
Switch to Deathmatch.
Switch to Team Deathmatch.
Switch to Capture the Diamond.
Switch to Uprising.
Match flow
Force the server ready state on.
Force the server ready state off.
End the current match.
Extend the current match.
Restart the current match.
Skip to the next map.
Jump to a specific map in the cycle. Usage: ?map <mapname>. Part of the map name is fine.
Allow or disable voting
Rules
Set minimum players.
Set maximum players.
Set max score.
Set respawn time.
Set a wave respawn time. After dying, dead players must wait exactly this long before respawning. (This is different from the normal respawn time, where you could respawn faster than the set value.)
Set respawn shield time
Toggle hardcode mode On/Off.
Stats and checks
Check that the FC2SL command path is working.
Shows the stats for a player from the database.
Set a player's stats visibility to public.
Set a player's stats visibility to private.