PDA

View Full Version : L4D Dedicated server guide



siosios
03-15-2009, 07:51 PM
Installation
------------------------------------------------

Left 4 Dead servers are more or less the same as any other source based game server, for the finer details on getting the update tool see here

http://www.srcds.com (http://www.srcds.com/)

Here are the update commands for each server type.

Windows


Code:


HldsUpdateTool.exe -command update -game left4dead -dir c:\serverpath


Linux



Code:

./steam -command update -game left4dead -dir /home/zombie/serverpath


General info
------------------------------------------------

openserverbrowser - in the console of the L4D client - all games are listed under the custom tab


Banner

File to edit - host.txt
Dimensions - 500 x 100 - 673x135
The banner changes size based on the resolution the client is playing the game in. I would recommend making a 500x100 image and adding black borders up to 673x135 to accommodate those who play in higher resolutions.

Simple HTML to center the banner image in the frame provided
Example -

Code:

<html><head><style type="text/css">html, body { background: black; margin:0px; padding:0px; border-style:none}</style></head><body scroll=no><center><img src="http://my.example.com/banner.png" /></center></body></html>
motd

File to edit - motd.txt
standard motd, same as any other server


Different types of servers you can run
------------------------------------------------

public server

public server steamgroup enabled - player is a specifid steam group will be able to connect to the server

private server


*** public server ***


Code:

-- startup options --

-console -game left4dead -maxplayers 4 -autoupdate +map l4d_hospital01_apartment +ip xx.xx.xx.xx -port 27015 -nohltv +sv_lan 0

-- server.cfg --

// server name
hostname myserver

// password for rcon
rcon_password "rcon_pass"

// Difficulty of the current game (easy, normal, hard, impossible)
z_difficulty normal
*** public server steamgroup enabled ***

Code:

-- startup line --

-console -game left4dead -maxplayers 4 -autoupdate +map l4d_hospital01_apartment +ip xx.xx.xx.xx -port 27015 -nohltv +sv_lan 0

-- server.cfg --


// server name
hostname myserver

// password for rcon
rcon_password "rcon_pass"

// Difficulty of the current game (easy, normal, hard, impossible)
z_difficulty normal

// steam group that has access to the server
sv_steamgroup 12345
*** private server with steamgroup and search key option ***

Code:

-- startup line --

-console -game left4dead -maxplayers 4 -autoupdate +map l4d_hospital01_apartment +ip xx.xx.xx.xx -port 27015 -nohltv +sv_lan 0 -nomaster


-- server.cfg --


// server name
hostname myserver

// password for rcon
rcon_password "rcon_pass"

// password for server
sv_password private_pass

// Difficulty of the current game (easy, normal, hard, impossible)
z_difficulty normal

// this will allows you to find a server through matchmaking with a specific search string
sv_search_key unique_key_for_server

// steam group that has access to the server
sv_steamgroup 12345

// only for members of certain steam group
sv_steamgroup_exclusive 1

VS - CO-OP
------------------------------------------------
L4D offers two gameplay modes.

VS - 4 on 4 survivor versus zombies.. human players on both sides.

CO-OP - 4 survivors fight together through the single player maps. 4 human players vs AI

The style of play is determined by the type of map loaded. the maxplayers startup option does not appear to have any affect on the max number of players.

l4d_hospital01_apartment - coop map 4 players max

l4d_vs_farm01_hilltop - versus map 8 players max


Also this CVAR controls the game server mode

"director_no_human_zombies" = "1"
- Prevents humans from joining the zombie team
------------------------------------------------



Forking
------------------------------------------------

Here are the notes I have found on server forking.

**Forking only works with Linux**

Here is A 16 server thread with several incrementing ports. the ## function will increment the number plus the number for the server instance.

-- startup line --


Code:

-netconport 90## -netconpassword foo +hostport 27015+## -steamport 27960+## +clientport 25030+## +exec server##.cfg -nohltv +map l4d_hospital01_apartment -fork 16

if your going to use per server configs, delete server.cfg and create server01.cfg server02.cfg and so forth


Broadcasting
if you're using netconport.

Telnet into the first netconport console (the one belonging to the parent)
and type "broadcast say Servers going down for updates" or "broadcast map
l4d_dem_hospital01_apartment" or "broadcast any_normal_command_here"

This will send commands to all the forks in one shot.

Type find into the console to see the other commands you can do.


Notes
------------------------------------------------

sv_search_key - lets you set up a server that can be found via matchmaking, but only by people with a matching sv_search_key. This allows you to set up a server you or your friends can play on and still use the existing matchmaking lobby to set up avatars, difficulty, map, etc.

To use the sv_search_key here is what you do.

1.) Set sv_search_key on your server.

ex. sv_search_key myserver

2.) Have the host client (the one who will be creating the lobby) set the
same sv_search_key in their console.

3.) Host client should now create the lobby.

4.) Other clients connect. Once the game is ready to be started, have the
host hit start game. Now you should join your server as long as there is a
server available with that search key.


sv_steamgroup - takes the Steam group number (which is now visible on the group's administrative page). The server will still be part of matchmaking, but users that are in that group will be able to browse directly to it from the main menu. Also, if this value is set, there will be a button near the message of the day that allows users to go directly to that group's page. This allows them to join that group if they like, and then be able to browse back to it in the future.

You will only be able to see the steamgroup number if you are the group creator, group members with admin access will not be able to see the group ID


------------------------------------------------