Zombie Panic! Source

Zombie Panic! Source

View Stats:
 This topic has been pinned, so it's probably important
The Maddog Dec 16, 2017 @ 7:48am
How to Setup a Zombie Panic Source Server (WINDOWS)
Full Server Setup/Installation/Configuration/Maintaining Guide

This guide is for those who have advanced knowledge of hosting game servers. Those of whom do not, I encourage you to select either GameServers or NFO Servers for your hosting needs. These services setup the server automatically for you so you can play within minutes of purchasing.

https://www.gameservers.com/game_servers/zps.php
https://www.nfoservers.com/order.php

BEFORE CONTINUING
This is for Windows only and has been made using the Windows Server 2012 OS. Linux will give you an aneurysm.

Be aware that Windows Server 2003 is not compatible and will not work with ZPS since it uses Windows XP.

However, this guide can still prove useful for those working with Linux.

Contents
Section 1 - Server Configuration
Section 2 - Ports & Firewall Configuration
Section 3 - Administrating/Moderating Your Server
Section 4 - Fast-Download Server
Section 5 - FTP Server Setup
Section 6 - Custom Maps
Section 7 - Updating the Server

SECTION 1 - Server Configuration
Find a hosting provider, for this guide I have chosen Tagadab, I have used them for years. Very good price, very stable and professional.

Make sure to select Windows hosting and ensure that the minimum amount of RAM is 4GB & Disk Size of 30GB has been selected.

You can get away with using 2GB of RAM for your server, however the Developers recommend 4GB.

After selecting your host and logging into that machine via Remote Desktop Connection or whatever else your using, it’s time to start.

For simplicity's sake please follow this tutorial exactly as shown, please do not change any characters as well as messing around with uppercase/lowercase stuff.

1. Create a folder for SteamCMD
C:\steamcmd

2. Download SteamCMD for Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

3. Extract the contents of the zip to the folder made in step 1.

4. Open steamcmd.exe

5. With the steamcmd.exe window open type,
login anonymous

6. After logging in type,
force_install_dir c:\steamcmd\zpsserver

7. Type and get yourself a beer,
app_update 17505 validate

8. Wait until you see the message: Success! App '17505' fully installed.

9. Congrats your server has been installed. Now let’s take a look at the new location of our server.cfg file which is located inside C:\steamcmd\zpsserver\zps\cfg. Change whatever you must, a general rule of thumb is if you don’t know what something means, leave it.

10. Now let’s start our server by creating our own startup.bat file (No it isn't an actual bat before you get excited.) Download the file below and place it inside C:\steamcmd\zpsserver

DOWNLOAD HERE[docs.google.com]
Copy the contents to a text document and save it as startup.bat and make sure that it is placed inside C:\steamcmd\zpsserver

If you have followed this tutorial correctly then you now have your very own ZPS server. Please note that as of this date, this is simply a guide to help setup and run a basic stock ZPS server on a Windows OS. I will update this guide within the next few days to provide details of how to setup your very own website/fast download server and how to update and customize your server to suit your needs. This will include how to add admins, plugins, a quick overview of commands, how to add custom maps and how to update and backup your server.

Any questions feel free to add me on steam and I will help you to the best of my ability.

As for those on Linux, I will of course provide support and eventually make a How To Linux guide.

SECTION 2 - Ports & Firewall Configuration

1. On the Start menu, click Run, type WF.msc, and then click OK.

2. In the Windows Firewall with Advanced Security, in the left pane, right-click Inbound Rules, and then click New Rule in the action pane.

3. In the Rule Type dialog box, select Port, and then click Next.

4. In the Protocol and Ports dialog box, select TCP. Select Specific local ports, and then type 27015 then click next.

5. In the Action dialog box, select Allow the connection, and then click Next.

6. In the Name dialog box, type a name and description for this rule, and then click Finish.

7. Repeat the 6 steps above for UDP

If after all these steps and you are still having problems with this then you should contact your hosting provider as this is practically a fool proof guide. You could also visit the famous port forwarding site.
https://portforward.com/router.htm

SECTION 3 - Administrating/Moderating Your Server

Unfortunately there is always someone there to ruin everyones fun and because of that we have invaluable tools to help us moderate our servers. So, let's set ourselves up as Admin of our own server shall we?

I have decided to provide a link in this section to Tabajara's guide of which I highly highly recommend. Tabajara's Guide.

However, below is the absolute bare minimum guide of adding yourself as an admin as well as performing the most basic of commands.

1. Go to;
C:\steamcmd\zpsserver\zps\data\adminsystem

2. Open admins.txt & groups.txt and read them (Make a backup of these incase you screw up!)

3. Goto http://www.steam64.com/ and paste your profile URL into the big long search box at the top.

You can find this by opening Steam and hovering over your username at the top right. Whilst hovering over your name a drop down menu should appear, click Profile.

4. Now right click the background in your profile and click copy link.

5. Paste the link into the http://www.steam64.com/ search box and click Find Steam ID

6. A big green box should appear, copy only the numbers as that is your unique Steam64 ID. This is used to specify yourself as an Admin inside the admins.txt file.

7. Now restart your server, however! Ensure nobody is enjoying a round on your server as restarting a server in the middle of a game can make people QQ which they have every right too!

Important Commands - Accessed ingame by pressing - If pressing - doesn't work then it's likely that your console has been binded by another button. You can rebind it via options and finding Toggle Console.
Available Admin Commands: admin kick <#userid|name> [message] admin ban <time> <#userid|name> [message] admin map <map> admin gag <#userid|name> [time] admin mute <#userid|name> [time] admin unban <steamid3> admin ungag <#userid|name> admin rcon <value> admin unmute <#userid|name>

Fast-Download Server (Soon to be DEPRECATED)

This is still the method to allow players to download custom maps from your server. However, this will soon be replaced by the new Workshop method. This guide will be updated when Workshop replaces the old fasioned FDL system.

First we must add the IIS feature to our server. IIS is Microsofts Internet Information Service Web Server. I highly recommend using IIS over anything else!

1. To do this you need to install this feature by first pressing the Windows key and finding Server Manager.

2. After opening the Server Manager you need to click Add Roles and Features.

3. Click Next, Next & Next again. Please read though so you know why you are clicking next and not because I am telling you to.

4. Scroll down and find Web Server (IIS) and click the check box next to it.

5. Ensure that Include Management Tools has been checked and click Add Features then click Next.

6. Click Next again and Next again!

7. Scroll down and find FTP Server and click the check box then click Next and then click Install

8. Grab a beer and wait.

9. After it has been installed click Close and then visit C:\inetpub\wwwroot and make a new dir called zps (case sensitive) then in that new zps folder create a new folder called maps (case sensitive)

C:\inetpub\wwwroot is the absolute root directory of your web space. We will be utilizing our web space as a Fast-Download server for our ZPS server.

You will place all of your custom maps that HAVE been compressed into the bzip2 format here! No buts. I will cover how to upload and compress custom maps in Section 5.

10. In your ZPS servers cfg dir, there is a file called server.cfg. Open up that with your favourite text editor and add the following at the bottom of that file.

sv_downloadurl "http://185.77.64.126/zps/"

Replace the IP of 185.77.64.126 with the IP of your server. For example
My: sv_downloadurl "http://185.77.64.126/zps/"
Your: sv_downloadurl "http://123.45.67.890/zps/"

11. Open your Server Manager and at the top right corner there should be a menu item called tools. Click on tools and then find and click on Internet Information Services (IIS) Manager.

12. Now in the connections pane on the left hand side, under connections double click on XVM72854 (Yours might differ from mine) - (If a notification pops up just click no)

13. Now double click on Sites in the same left hand side pane and then double click on Default Web Site. This is the website that we have setup, we need to enable directory browsing for our fast-download server.

14. Having double clicked on your Default Web Site, find Directory Browsing and double click on it. Now on the right hand side under Actions, click enable.

Congrats, if all has gone well get yourself a lottery ticket. No but seriously, you have now setup your own fast-download server! Remember in the FTP section we will learn how to upload our custom maps to the ZPS server and the fast download server.

SECTION 5 - FTP Server Setup

Fun part! Uploading and downloading files to and from our server time!

1. First, my favourite piece of ancient software called FileZilla! Download the Client not the Server!
DOWNLOAD HERE[filezilla-project.org]

2. Once downloaded, install the program on YOUR personal computer, not the server machine and be sure NOT to install the other useless junk that comes with the program.

3. Once installed, login to our Windows server (Remote Desktop Protocol) and open the Server Manager. Now at the top right corner there should be a menu item called tools. Click on tools and then find and click on Internet Information Services (IIS) Manager.

4. Now in the connections pane on the left hand side, under connections double click on XVM72854 (Yours might differ from mine) - (If a notification pops up just click no)

5. Now RIGHT click on Sites in the same left hand side pane and then click on Add FTP Site.

6. Now give it a name, for example ZPS Server so that we know that this FTP Site is related to our ZPS server. After giving it a name, it's now time to specify the Content Directory. Set this to C:\steamcmd\zpsserver (Now I'm hoping that yours isn't different, if it is, amend this now)

7. Click Next and pay attention. IP Address, set this to All Unasigned. Port, this should be set to 21. Start FTP site automatically should be checked and No SSL should be selected at the bottom. After doing all of that, click next.

8. Choose Basic for authentication and Allow Access to: All Users. Check Read and Write at the bottom as well, then click Finish.

9. Restart your server machine.... Sometimes the FTP Server isn't functional until the server has been restarted for some stupid reason.

10. Now that your server has been restarted, open FileZilla on your PC. Now, at the top in the IP field, just type in your servers IP address. Next is the username and password, use the credentials that you use to login to the server for the username and password. As for port you can leave that blank.

Now if all has gone well, you should be able to connect by clicking Connect after inputting the IP, username and password. With the FTP server installed and fully functional we can now upload and download froms to and from our server. This is an incredibly useful tool and a must for anyone who operates a server machine.

SECTION 6 - Custom Maps

Custom maps can be found by visiting Wazanator's lovely map archive here.
https://www.dropbox.com/sh/ytx34q83c9awxk6/M-lP5OrkTR

These maps need to be unzipped and placed inside your maps folder and your fast download servers map folder. However ensure that the fast download server only contains maps that have been compressed into the bzip format.

Download and install 7Zip, then use it to compress your maps to the .bz2 format, for fast download only.
https://sourceforge.net/projects/sevenzip/files/latest/download

DO NOT compress maps in your servers map directory. Only compress maps to the .bz2 format on the fast-download server. Again, maps on your game server need to be in the .bsp format, maps on the fast-download server need to be in the .bz2 format, this is a strict must or it WILL NOT work!

I know this tutorial can be very complicated and that's why there are game-host providers out there that do all this for you. But please don't give up, you can do this and this community is here to help you should you require further assistance.

SECTION 7 - Updating the Server

Before we begin please make a full backup of your server just incase things go wrong.

1. Find your SteamCMD.exe and open it.

2. Time to login, so type "login anonymous" without the quotes.

3. After logging in type;
force_install_dir c:\steamcmd\zpsserver
(This is the location of your ZPS game server, if yours is different then please correct this now. Otherwise you will end up downloading and installing an aditional stock server)

4. Type and get yourself a beer,
app_update 17505

5. Wait until you see the message: Success! App '17505' fully installed.

6. You can now start your server as it should now be fully updated.

IMPORTANT STUFF

Inside your server.cfg it is mandatory that you immediately provide a secure password for your RCON. Please find rcon_password "" and inside those quotation marks place your secure password. RCON grants devastating powers to the one who holds the password for the night is dark and full of terror, don't even share this password with your dog!
------------------------------------------------------------------
If for some terrible reason you get the dreaded "SV_LAN" error inside the console *Cough* error spam when loading the startup.bat file, then unfortunately you're doomed! ... Kidding, to fix this;

1. Install Steam Client on the server box and close your server.
2. Run the steam client once.
(You may get an OpenGL error which is expected, just ignore it)
3. Close it once finishing doing its magic.
4. Run startup.bat

Now it should run fine, any problems again, please contact me or a member of the DEV team.

Please be aware that Steam will start automatically on system start. You should disable it from starting as there is absolutely no need for it to be running. Also do not uninstall Steam, yes it's over 600MB but our ZPS server requires Steam to be installed on the server.
------------------------------------------------------------------
When updating your ZPS server you may have to reconfigure your server.cfg. I have just updated mine and it completely wiped my server.cfg. So, that is why we make a server backup before updating.

NOTES
Originally posted by 𒐫𒐫𒐫𒐫𒐫𒐫𒐫𒐫:
I would like to add a really important note. Please specify the MIME type of bz2 file extensions for your IS. The downloads would not work until I added the handler.

Extension: bz2
Type: application/x-bzip2


If this guide lacks any information,
if parts of this guide confuse you or if any links are not working or if anything is outdated, please contact me or reply to this thread.
Last edited by The Maddog; Oct 19, 2020 @ 2:32am
< >
Showing 1-15 of 17 comments
Tabajara  [developer] Dec 16, 2017 @ 7:54am 
Pinned!
Shepard  [developer] Dec 19, 2017 @ 6:40am 
I would like to add something to this guide : Windows Server 2003 won't work since it uses Windows XP as base and we dropped Windows XP support when 3.0 was released. If you are still using that version, you will need to upgrade to Windows Server 2008 R2 which uses Windows 7 as base or higher.
The Maddog Dec 19, 2017 @ 10:17am 
Thanks for that Shepard, I have added it to the guide.
The Maddog Dec 28, 2017 @ 9:42am 
Added a new section on how to update your server, any problems let me know.
GorillaPatrick Jan 3, 2018 @ 5:30am 
Hello, the server is not public, but people can join if they have my serverip..
pls help :D
Shepard  [developer] Jan 3, 2018 @ 11:02am 
Originally posted by GorillaPatrick:
Hello, the server is not public, but people can join if they have my serverip..
pls help :D

Set a password.
The Maddog Jan 4, 2018 @ 10:13am 
His ports weren't open. I referred him to https://portforward.com/router.htm
NeoAssassin  [developer] Jan 4, 2018 @ 10:46am 
Here's the startup.bat we use for the official servers:
@echo off cls set ServerTitle=ZPS Server #1 set ServerPlayers=24 set ServerPort=27016 set ServerMap=zpo_zomboeing set ServerCfg=server1.cfg :: Steam Servers ID Token :: If you have subscribed workshop addons on your account, and have set AccountTokenID, it will download the workshop content. :: To setup a Token ID, head over to: https://steamcommunity.com/dev/managegameservers :: set AccountTokenID= set SourceTV="+tv_enable 1;tv_autorecord 1;tv_maxclients 0;tv_transmitall 1;tv_relayvoice 1" echo Protecting %ServerTitle% from crashes... title %ServerTitle% :srcds echo (%time%) %ServerTitle% started. start /wait srcds.exe -console -game zps -dedicated +map %ServerMap% -port %ServerPort% +maxplayers %ServerPlayers% -secure +sv_setsteamaccount %AccountTokenID% %SourceTV% +servercfgfile %ServerCfg% echo (%time%) WARNING: %ServerTitle% closed and/or crashed, restarting. goto srcds


But this uses "server1.cfg" instead of "server.cfg", and has SourceTV enabled always recording on the server.

You'll want to copy/paste server.cfg and rename it though either way, because the file will likely get overwritten when a new update comes out.
The Maddog Jan 4, 2018 @ 10:58am 
Thank you Neo, I have added the start.bat to the guide. I have also removed the Source TV part.
NeoAssassin  [developer] Jan 4, 2018 @ 12:05pm 
Regarding "Updating the Server" - It's not necessary to validate the files everytime you update. You only need to do that if you think files are corrupted or something like that. But I think validating will probably want to overwrite files you've changed like admins.txt, groups.txt, or server.cfg, for example (but I'm not too sure because I don't use validate everytime, only when I need to). Wheras if you don't use validate, then I think the file should only get overwritten if it was updated and you hadn't downloaded it yet.

You can also automate this process instead of typing everything manually. The Valve Dev Wiki tells you how to do this. There's also apparently some software/scripts for this too.
Last edited by NeoAssassin; Jan 4, 2018 @ 12:09pm
The Maddog Jan 5, 2018 @ 2:08am 
Thank you Neo, I will update the guide :)
The Maddog Jan 5, 2018 @ 2:14am 
Would just like to state that this guide will be completed in a couple days!
The Maddog Jan 9, 2018 @ 2:04am 
This gudie has now been completed.
Tabajara  [developer] Jan 31, 2018 @ 8:32am 
Helpful guide for server administrators: http://steamcommunity.com/sharedfiles/filedetails/?id=1286427014
Tabajara  [developer] Aug 4, 2018 @ 8:29pm 
Recommended CVARs in server.cfg

// Rate
rate 80000
sv_minrate 30000
sv_maxupdaterate 66
sv_minupdaterate 66
sv_mincmdrate 66
sv_maxcmdrate 66
// PS: Only for powerful machines

// Download filesize
net_maxfilesize 64

// Misc ip/id
writeip
writeid
< >
Showing 1-15 of 17 comments
Per page: 1530 50