Check out our discord at https://discord.gg/3u69jMa 

Create Basic Server (Windows)

From SWRC Wiki
Revision as of 12:42, 21 June 2024 by Plasma (talk | contribs)
Jump to navigation Jump to search

Note: This guide is intended for dedicated servers, not servers started from the ingame menu!

Requirements

Setup

  • Download Republic Commando UCC and install it into GameData/System folder
  • Create a shortcut for UCC.exe and add this parameter on target line: Engine.ServerCommandlet
  • It should like below (absolute paths may be different depending on installation location):
"C:\Program Files (x86)\Steam\steamapps\common\Star Wars Republic Commando\GameData\System\UCC.exe" Engine.ServerCommandlet
  • Forward the server connect port (default 7777) for TCP and UDP in your router/firewall
  • Optionally, forward the gamespy master server port 11138 for TCP and UDP if you want to see your server on the list
  • If running multiple servers on same machine/network interface, the gamespy port increases by one automatically for each server instance. A second server would use 11139, a third server 11140 and so on.

Configure System\System.ini

Open up GameData\System\System.ini file with notepad. (Notepad++ recommended)


[URL]

Change the lines

Map=Entry.ctm
LocalMap=Entry.ctm

to

Map=DM_Siege?Game=MPGame.DMGame
LocalMap=DM_Siege?Game=MPGame.DMGame

This will boot the server into Arena A17 on DeathMatch gamemode.

The commandline syntax is: Mapname, Gamemode, additional parameters.

  • Parameters get seperated by "?" symbol


Additional Parameters

GoalScore=           -Set the score limit
Timelimit=           -Set the timelimit in minutes
MaxPlayers=          -Set max players for server
MaxSpectators=       -Set max spectators for server
RespawnWaitTime=     -Set respawn time, maximum are 7 seconds
MapListType=         -Tell the server to use this map list pool
NumRounds=           -For Assault gamemode, set the number of rounds until match ends
RoundTime=           -For Assault gamemode, set the round time in seconds
bEmptyTeamStart=     -Set to either True or False, tells the game to start even if only one player joined


Example

The following example will boot the server into Arena A17 (CTF version) with the gamemode capture the flag, goal limit set to 3 (captures), 60 minute timelimit per map, 32 player slots, 8 spectator slots, 4 second respawntime and ctf maplist:

CTF_Siege?Game=MPGame.CTFGame?GoalScore=3?Timelimit=60?MaxPlayers=32?MaxSpectators=8?RespawnWaitTime=4?MapListType=MPGame.MapListCaptureTheFlag


IpDrv.TcpNetDriver

Change NetServerMaxTickRate attribute to 35 for smoother network play.

NetServerMaxTickRate=35


IpDrv.MasterServerUplink

Change the AdvertiseServer attribute accordingly if you want to announce server on LAN or internet.

;Set the below to broadcast on Lan
;Set this to 2 to broadcast to gamespy
AdvertiseServer=2


[Engine.GameReplicationInfo]

Change the server name being displayed on internet browser. Parameter "ShortName" is unused!

ServerName=My cool server
ShortName=RC Server

Default Gamemodes

MPGame.DMGame        -Deathmatch
MPGame.TDGame        -TeamDeathmatch
MPGame.CTFGame       -Capture the flag
MPGame.ASGame        -Assault

Default 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

Map pools

Map list pools are found at the end of System.ini file and are used to cycle through maps/gamemodes.

This example switches maps and modes on each round end:

[MPGame.MapListCaptureTheFlag]
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