Running a server/Configuration

From Sven Co-op
Jump to navigation Jump to search

This section will go over all the settings you will need to run a dedicated (or listen) server. Please refer to the included file server_example.cfg (or listenserver_example.cfg), and I will take you through each setting in groups as already specified.

If you have not yet set up a server and need instructions to help you, please see our server installation guide.

1 Starting statements

Setting Default value Description
hostname Sven Co-op v5.0 server The name of your server as players see it. This line comes first to minimize the chance of your server appearing as the default name Sven Co-op. Try to limit yourself to 40 characters on this.
log on Switch on logging of events on your server. There is little reason to turn this off unless you don't require logs. We recommend you specify this in your command parameters instead to lower the number of log files created, particularly if you have the daily rotation feature disabled.

2 Configuration files

The following only need to be changed when running multiple servers off a single installation of Sven Co-op (aka configuration profiling) where sharing of configuration files is not desired.

Setting Default value Description
servercfgfile server.cfg Location of the server configuration file (for dedicated servers only). This will also need to be declared in your command line parameter as +servercfgfile server.cfg to be used when your server starts.
lservercfgfile listenserver.cfg Location of the server configuration file (for listen servers only). This will also need to be declared in your user configuration file (userconfig.cfg) for it to take effect when your game starts.
mapchangecfgfile Empty Location of a configuration file to be executed on each map change. Not often required.
mapvotecfgfile mapvote.cfg Location of the file containing a list of maps available for voting. Exceeding 200 maps may prevent players joining due to "reliable channel overflowed"!
skillcfgfile skill.cfg Location of the skill configuration file.
bannedcfgfile banned.cfg Location of the banned Steam ID list file.
listipcfgfile listip.cfg Location of the banned IP address list file.
mapcyclefile mapcycle.txt Location of the map cycle file.
motdfile motd.txt Location of the welcome message file (aka message of the day) to display when players join.
adminsfile admins.txt Location of the server administrators list file. More details
logsdir logs Folder used to store server logs in.
plugin_list_file default_plugins.txt Location of the file containing the list of AngelScript plugins to load.

3 Passwords

Setting Default value Description
rcon_password Empty Password used for accessing the server console remotely. Use a password strength meter to help you build a good password. Only your trusted server administrators should know this as it allows unlimited access to your game server. If you leave this blank, remote console access will not be available (don't worry -- it won't allow everyone to use RCON without a password).
sv_password Empty Password used for players to join your server. Leave blank if your server is public.
sv_spectator_password Empty Password used for spectators to join your server. Leave it blank if your server is public. Currently obsolete in Sven Co-op.

4 Core variables

Setting Default value Description
sys_ticrate 100 The maximum number of frames/second your server will process.

Frame rates too high will (over 200) also have a negative effect on physics and NPC movement, and will cause many brush entities to cause crush damage when nothing is blocking them.

sv_contact Empty The email address of the server manager, so players have someone to contact when there is a problem.
sv_downloadurl Empty The HTTP address where your server's custom content can be found, so players can download it very fast. This is essential to get players onto your server while it's running non-standard maps. HTTPS is currently unsupported, but will be available in a future release.
allow_spectators 1 Allow players to spectate the game. Currently obsolete in Sven Co-op.
deathmatch 1 This is essential for the intended game play of Sven Co-op. Do not change this, and do not use the coop setting.
decalfrequency 30 The time (seconds) a player must wait before making their spray again. 0 will remove this delay, but is not recommended.
hpk_maxsize 2 The size limit (megabytes) of the file that stores uploaded sprays. The oldest sprays are removed to make way for new sprays.
pausable 0 Determines whether the game on your server can be paused by anyone. This is never recommended on public servers.
skill 3

The default skill level your server will use. Maps can override this in their configuration.

  • 0: Always let the map choose.
  • 1: Easy, enemies are easy to kill, players are hard to kill.
  • 2: Hard, enemies are hard to kill, players are easy to kill.
  • 3: Realistic, enemies are easy to kill, players are very easy to kill - enables realistic weapon damage.

Mappers are recommended not to use this setting, but still do.

5 Server variables

Because there are so many of these, I am only going over the ones you will have good reason to change. If a setting isn't listed then it's there to help maintain default settings, meaning you have no reason to change it.

Setting Default value Description
sv_allowdownload 1 Allow players to download custom content from your server.
sv_allowupload 1 Allow players to send custom sprays to your server.
sv_alltalk 1 Voice communication is sent to all teams. Currently obsolete in Sven Co-op.
sv_cheats 0

Allow players to use cheat commands. If the server is for Internet use the player slots must be 3 or less for players (non-administrators) to use cheats.

  • 0: Nobody can use cheats.
  • 1: Everyone can use cheats.
  • 2: Administrators can use cheats, players can't use cheats.

This is primarily intended for a map author to run a controlled test session. LAN servers are not subject to the player slots limit. More info

sv_filetransfercompression 1 Allow custom content to be compressed on the fly for faster delivery.
sv_lan 0 Server is only for a local area network. When enabled players authenticate with their IP address, and can only join if they are within the same subnet as the server.
sv_lan_rate 100000 Rate (bytes/second) that the clients are forced to talk to the server at when in LAN mode. 100000 (100 kBtyes/sec) is more than enough for 32 players and sustainable on any modern LAN.
sv_maxrate 20000 The maximum rate (bytes/second) that clients can talk to the server at when in Internet mode. 20,000 (20 kBytes/sec) is enough for 16 players, though intense maps with lots of server-to-client traffic will likely need to be raised up to the maximum of 100,000 (100 kBytes/sec).
sv_maxupdaterate 50 The maximum number of events/second the server can send to a client. 50 is enough for 16 players. If you're running a server on a home broadband connection, consider lowering this to 15 or 20.
sv_minrate 0 The minimum rate (bytes/second) that clients can talk to the server at when in Internet mode. Please do not change this so dial-up users can still enjoy your server.
sv_minupdaterate 10 The maximum number of events/second the server can send to a client. Please do not change this so dial-up users can still enjoy your server.
sv_proxies 0 Allow spectator proxies (HLTV) to connect to your server.
sv_region 255

The region your server is in. This is used in Steam's server browser, so players can look for servers near by.

  • -1: Do not list server in the server browser.
  • 0: USA east coast.
  • 1: USA west coast.
  • 2: South America (continent)
  • 3: Europe.
  • 4: Asia.
  • 5: Australia (continent, aka Oceania)
  • 6: Middle East.
  • 7: Africa.
  • 255: International.

This does not restrict players from connecting to your server! Please be honest about your server location rather than just use International, which should only be used for countries/continents not already included such as:

  • Other USA zones (mountain/central/Alaska/Hawaii)
  • Canada.
  • Mexico.
  • Central America (continent)
  • Caribbean.
  • Greenland.
  • Other non-continental territories.
  • Antarctica (lol)
  • Anywhere else not mentioned here.

Please also bare in mind that if you choose a region other than International, your server will appear on both International and the region you have selected.

sv_spectalk 1 Allow spectators to use chat. Currently obsolete in Sven Co-op.
sv_timeout 60 The time (second) a client stops responding before the server considers the client to have completely lost connectivity.
sv_voiceenable 1 Allow players to use voice communication.
sv_zmax 16000 The radius based distance from players of which the sky map will be rendered at, causing anything further than this to not be drawn. (Only mappers should ever worry about this.)

6 Multi-player variables

Because there are so many of these, I am only going over the ones you will have good reason to change. If a setting isn't listed then it's there to help maintain default settings, meaning you have no reason to change it.

Setting Default value Description
mp_allowmonsterinfo 1 Allow players to see information about monsters they see. Disabling this will cause confusion over who is allied and who are enemies.
mp_banana 1 Allow players to throw banana bombs.
mp_classic_mode -1

Allow/Deny Classic Mode, on maps that support it.

  • -1: Players can vote to enable/disable Classic Mode through the command menu.
  • 0: Classic Mode is disabled.
  • 1: Classis Mode is enabled.
mp_decals 2048 The maximum number of decals the server will render. This should never be higher than the value used for num_edicts, which is typically 4096.
mp_disable_autoclimb 0 Deny players to use the auto-climb feature.
mp_disable_pcbalancing 0 Disable skill auto-balancing.
mp_disable_player_rappel 0 Deny players to use the Barnacle grapple on each other.
mp_disablegaussjump 0 Disable vertical knock back caused by the gauss cannon's charge up shot. This can sometimes be used to exploit maps or get places players aren't meant to go. This is a direct copy of mp_allowgaussjump, which for some reason was inverted in Sven Co-op 3.0 and previous versions.
mp_dropweapons 1 Allow players to drop weapons and ammo. Miniguns and shock rifles can always be dropped.
mp_falldamage 1 Use realistic fall damage. If disabled, when players get hurt from falling they will always lose 10 health points.
mp_flashlight 1 Allow players to use their flashlight.
mp_footsteps 1 Players generate footstep sounds while running fast enough.
mp_forcerespawn 0 Force players to respawn after they die. Disabling this allows players to respawn when they are ready to (recommended).
mp_fraglimit 0 Map changes after someone obtains this many frags. Currently obsolete in Sven Co-op.
mp_grapple_mode 1 Players are pulled to monsters bigger than headcrabs when grappled rather than the monster being pulled to a player.
mp_modelselection 1 Players are able to change their model. Set to 0 to disallow players to change their model.
mp_multiplespawn 1 Allow players to use more than 1 spawn point. Disabling this would be epic fail on your behalf.
mp_no_akimbo_uzis 0 Deny players to have akimbo uzis. This may help balance power on some maps or large player capacities.
mp_noblastgibs 0 Deny monsters to be gibed (ripped apart) when killed with explosives.
mp_notimelimit 0 Disable a map's time limit (mp_timelimit).
mp_npckill 1

Set the behaviour of killing allied NPCs. This replaces the old killnpc setting.

  • 0: Disallows allied NPCs to be killed.
  • 1: Allows allied NPCs to be killed.
  • 2: Allows allied NPCs to be killed by anything other than players, allied NPCs, and human passive class.
mp_playervotedelay 300 The time (seconds) a player must wait before starting another poll.
mp_respawndelay 6 The time (seconds) a player must wait before respawning. This is 6 seconds by default to help encourage use of the new reviving feature.
mp_telefrag 1 Players will kill someone if they are teleported inside them. Disabling this will result in players piling up inside each other unable to move.
mp_timelimit 60 Map changes after this amount of time (minutes) if the map hasn't been completed already. Time limit is infinite if set to 0, but mp_timelimit_empty can prevent a map keeping your server empty forever..
mp_timelimit_empty 10 Map changes after this amount of time (minutes) when the server is empty, regardless if the map's own time limit has been reached. Set to 0 to disable this feature.
mp_voteallow 1 Allow players to use the built in voting system. Consider disabling this if you run plug-in packs such as AdminMod or AMX mod X.
mp_votebanrequired -1 Percentage of players that must say yes for a ban vote to succeed. Set to -1 to disable this type of vote. (We recommend leaving this off so bans are left up to the server administrators.)
mp_votekickrequired 66 Percentage of players that must say yes for a kick vote to succeed. Set to -1 to disable this type of vote.
mp_votekill_respawndelay 15 The time (seconds) a player must wait before respawning after being successfully killed by a vote.
mp_votekillrequired 51 Percentage of players that must say yes for a kill (aka slay) vote to succeed. Set to -1 to disable this type of vote.
mp_votemaprequired 66 Percentage of players that must say yes for a map vote to succeed. Set to -1 to disable this type of vote.
mp_voteclassicmoderequired 51 Percentage of players that must say yes for a Classic Mode vote to succeed. Set to -1 to disable this type of vote.
mp_votetimebetween 60 The time (seconds) a player other than the previous poll starter can start a new poll.
mp_votetimecheck 20 The time (seconds) players have to cast their vote. Players who don't answer in time will be assumed as inactive and not included in the result.
mp_weaponstay 1 Weapons can be picked up multiple times, with the exception of miniguns. Disabling this will result in a couple of players taking all the weapons leaving others with nothing.

7 Execute configurations

Command Parameter Description
exec banned.cfg Loads the list of banned Steam IDs. This should match the bannedcfgfile value.
exec listip.cfg Loads the list of banned IP addresses. This should match the listipcfgfile value.