If you want to help us maintaining this wiki, check out our discord server: https://discord.gg/3u69jMa
Setting up a Server
Requirements
- Windows operating system (For Linux: Run a server on Linux with UCC)
- Microsoft Visual C++ 2005 Redistributable x86 and x64
- Game files need to be present on host system
Setup
Create a shortcut of SWRepublicCommando.exe, open up its properties and add this line at the end:
-server -ini=System.ini
So it should look like this:
...System\SWRepublicCommando.exe" -server -ini=System.ini
The name of the ini file can be variable as long it exists.
Configure System.ini
Open up System.ini file with notepad.
Entry Point
Change
Map=Entry.ctm LocalMap=Entry.ctm
to
Map=DM_Siege?Game=MPGame.DMGame LocalMap=DM_Siege?Game=MPGame.DMGame
Both lines have to be identical!!!
This will boot the server into Arena A17 with DeathMatch gamemode.
The commandline syntax is always: Mapname, Gamemode, Additional parameters
- Note: Parameters get seperated with ? symbol
Maps
Available Maps for DM/TDM:
DM_Canyon -Gunship DM_Detention -Lockdown DM_Engine -Engine DM_Hangar -Hangar DM_HangingGarden -Garden DM_Pow -Garrison DM_PowSmall -Depot DM_Siege -Arena A17 DM_Trando -Ghostship DM_UnderPass -Kachirho DM_ZeroG -Arena G9
Available Maps for CTF/AS:
CTF_Detention -Lockdown CTF_Engine -Engine CTF_Hangar -Hangar CTF_HangingGarden -Garden CTF_Pow -Garrison CTF_Siege -Arena A17 CTF_Trando -Ghostship CTF_UnderPass -Kachirho CTF_ZeroG -Arena G9
Booting up a CTF map for DM/TDM gamemode doesn't matter, but booting up a DM map for CTF/AS gamemode will have the sideeffect that flags won't spawn.
Gamemodes
Available gamemodes:
MPGame.DMGame -Deathmatch MPGame.TDGame -TeamDeathmatch MPGame.CTFGame -Capture the flag MPGame.ASGame -Assault
Additional Parameters
Available parameters: (X represents a number) (Y represents a string)
GoalScore=X -Set the score Timelimit=X -Set the timelimit in minutes MaxPlayers=X -Set max players for server, maximum is 32 MaxSpectators=X -Set max spectators for server, maximum is 32 RespawnWaitTime=X -Set respawn time, maximum are 7 seconds MapListType=Y -Tell the server to use this map list pool NumRounds=8 -For Assault gamemode, set the number of rounds until match ends RoundTime=300 -For Assault gamemode, set the round time in seconds
Conclusion
Using this line
CTF_Siege?Game=MPGame.CTFGame?GoalScore=50?Timelimit=60?MaxPlayers=32?MaxSpectators=8?RespawnWaitTime=4?MapListType=MPGame.MapListCaptureTheFlag
will boot the server into:
- Arena A17
- Deathmatch gamemode
- Set the score to 50 points
- Set the timelimit to 1 hour (60 minutes)
- Max players set to 32
- Max spectators set to 8
- Respawn time set to 4 seconds
- Use maps from MapListCaptureTheFlag pool
For the map list pools, see below.
Add the server to ingame browser
Both, client and server, need this patch installed in order to see/put servers on master list for ingame browser.
Search for
[IpDrv.MasterServerUplink] ;Set the below to broadcast on Lan ;Set this to 2 to broadcast to gamespy AdvertiseServer=2
and set it to 2 in order to broadcast it on the browser.
Change server name
Search for
[Engine.GameReplicationInfo] ServerName=Republic Commando Server ShortName=RC Server
and change ServerName to your desired name.
Map pools
At the end of your ini file, you will find 5 default map pools. The structure is always the same. Besides those default pools, you can add custom pools aswell.
The commandline parameters from the top always get carried to the new map on map change as long you dont change them. You can of course change stuff like gamemode.
[MPGame.MapListMix] MapNum=0 Maps=DM_Siege?Game=MPGame.DMGame?GoalScore=50?timelimit=60 Maps+=CTF_Detention?Game=MPGame.ASGame?GoalScore=0?RoundTime=240?NumRounds=2?timelimit=0 Maps+=DM_Hangar?Game=MPGame.TDGame?GoalScore=40?timelimit=10?NumRounds=0?RoundTime=0 Maps+=CTF_HangingGarden.ctm?Game=MPGame.ASGame?GoalScore=0?RoundTime=240?NumRounds=2?timelimit=0 Maps+=DM_ZeroG?Game=MPGame.DMGame?GoalScore=25?timelimit=10?NumRounds=0?RoundTime=0 Maps+=CTF_Underpass?Game=MPGame.CTFGame?GoalScore=3?timelimit=10 Maps+=DM_POW?Game=MPGame.TDGame?GoalScore=35?timelimit=10 Maps+=DM_Canyon?Game=MPGame.DMGame?GoalScore=25? Maps+=CTF_Trando?Game=MPGame.CTFGame?GoalScore=3?timelimit=10 Maps+=DM_Engine?Game=MPGame.TDGame?GoalScore=35?timelimit=10 Maps+=DM_Siege?Game=MPGame.DMGame?GoalScore=25?timelimit=10 Maps+=DM_Detention?Game=MPGame.TDGame?GoalScore=35 Maps+=CTF_Hangar?Game=MPGame.ASGame?GoalScore=0?RoundTime=240?NumRounds=2?timelimit=0 Maps+=DM_HangingGarden.ctm?Game=MPGame.TDGame?GoalScore=35?RoundTime=0?NumRounds=0?timelimit=10 Maps+=CTF_ZeroG?Game=MPGame.CTFGame?GoalScore=5?timelimit=10 Maps+=DM_Underpass?Game=MPGame.DMGame?GoalScore=25?timelimit=10
Note:
- MapNum=0 needs to be there, to be honest I don't know why
- Every other map on slot 2 or higher has to be added with Maps+=XXX instead of Maps=XXX
System.ini file in Save folder
After first start of server and closing it after boot up, take a look at the System.ini file in \GameData\Save folder.
It's not only a 1 to 1 copy of the System.ini from System folder, it also adds some extra config stuff at the end.
For example you will find something like this at the end:
[MPGame.TDGame] bBalanceTeams=True -Balance teams? bEmptyTeamStart=True -Let the player spawn on TDM/CTF/AS when he is alone bPermanentDeath=False -No effect RoundTime=0 -Assault stuff NumRounds=0 -Assault stuff MaxTeamSize=16 -Change the maximum numbers of players per team FriendlyFireScale=0 -Friendly fire in % bPlayersMustBeReady=False -No effect bForceRespawn=False -Respawn players automatically bAdjustSkill=False -No effect bAllowTaunts=True -No effect SpawnProtectionTime=2 -Set spawnprotection in seconds bTeamScoreRounds=False -No effect, N/A RespawnWaitTime=7 -Respawn time in seconds bWeaponStay=False -No effect bAllowWeaponThrowing=True -No effect bAllowBehindView=False -No effect MapListType= -Assign a map list pool GoalScore=0 -Set score limit TimeLimit=0 -Set time limit
These are default values which are always getting loaded. Most of them are self explaining.
- They can also be added to the commandline!