Difference between revisions of "How to make a server"

From Fortress Forever Wiki
Jump to navigationJump to search
m (syntax edit, sp changes, etc. (minor))
Line 1: Line 1:
=='''Overview'''==
+
==Overview==
==='''What is a server?'''===
+
===What is a server?===
  
 
A server is a portal that allows other online players to play the game.
 
A server is a portal that allows other online players to play the game.
Line 22: Line 22:
 
The Linux Dedicated Server is a variant of the [[How_to_make_a_server#Stand-Alone Dedicated Server|Stand-Alone Dedicated Server]] designed to run on Linux.
 
The Linux Dedicated Server is a variant of the [[How_to_make_a_server#Stand-Alone Dedicated Server|Stand-Alone Dedicated Server]] designed to run on Linux.
  
=='''Getting Started'''==
+
==Getting Started==
  
===='''What programs do I need?'''====
+
===What programs do I need?===
  
 
Before you even start the server install you really need to have several programs which are necessary tools that will enable you to configure/update and manage your server.
 
Before you even start the server install you really need to have several programs which are necessary tools that will enable you to configure/update and manage your server.
Line 30: Line 30:
 
Listed below are the programs that are recommended you have installed and are somewhat familiar with before you start putting together your server.
 
Listed below are the programs that are recommended you have installed and are somewhat familiar with before you start putting together your server.
  
====='''FTP - File Transfer Protocol Program'''=====
+
====FTP - File Transfer Protocol Program====
  
 
In order to upload your server’s files from your computer to the remote server that runs your ff server and vise versa you must have an FTP or File Transfer Protocol Program. Many hosting companies offer file access through your browser and it is useful for a quick update if you are not on your primary computer. However, an actual FTP client is much more stable and faster to use.
 
In order to upload your server’s files from your computer to the remote server that runs your ff server and vise versa you must have an FTP or File Transfer Protocol Program. Many hosting companies offer file access through your browser and it is useful for a quick update if you are not on your primary computer. However, an actual FTP client is much more stable and faster to use.
Line 40: Line 40:
 
[http://winscp.net/eng/index.php WinSCP]
 
[http://winscp.net/eng/index.php WinSCP]
  
====='''Compression Utility Program'''=====
+
====Compression Utility Program====
  
 
In order to conserve hard drive space, extract compressed files (of various formats) and to create .bz2 files if you utilize the [[How_to_make_a_server#Creating a Fast Downloads Server|fast download feature]] for your web site you need to have a compression utility program.
 
In order to conserve hard drive space, extract compressed files (of various formats) and to create .bz2 files if you utilize the [[How_to_make_a_server#Creating a Fast Downloads Server|fast download feature]] for your web site you need to have a compression utility program.
Line 48: Line 48:
 
[http://www.7-zip.org/ 7-zip]
 
[http://www.7-zip.org/ 7-zip]
  
====='''Server Management Program'''=====
+
====Server Management Program====
  
 
In order to manage your server, test configuration variables and check on it’s status one must have a server management program.
 
In order to manage your server, test configuration variables and check on it’s status one must have a server management program.
Line 56: Line 56:
 
[http://www.hlsw.org/ HLSW Gameserver Tool]
 
[http://www.hlsw.org/ HLSW Gameserver Tool]
  
======Note(s):======
+
=====Note(s):=====
  
 
'''A)''' Download and use the “Official Download” for the most stable version.
 
'''A)''' Download and use the “Official Download” for the most stable version.
Line 62: Line 62:
 
'''B)''' You do not need to utilize the built steam log in part of HLSW to effectively manage your server. It is only required if you want to be able to log into it and utilize Steam functions like chat. Just click on “Offline Mode” to manage you server.
 
'''B)''' You do not need to utilize the built steam log in part of HLSW to effectively manage your server. It is only required if you want to be able to log into it and utilize Steam functions like chat. Just click on “Offline Mode” to manage you server.
  
====Installing the Mod====
+
===Installing the Mod===
  
 
Most game server companies are willing to DL and install mods for you so give them the the Link for the [[Downloads| Downloads Section]]
 
Most game server companies are willing to DL and install mods for you so give them the the Link for the [[Downloads| Downloads Section]]
Line 69: Line 69:
 
If they are not willing to do this you will need to use one of the [[How_to_make_a_server#FTP - File Transfer Protocol Program| FTP Programs]] above and extract the [[Downloads| Latest Version]] of Fortress Forever to your Half Life 2 Based Server.
 
If they are not willing to do this you will need to use one of the [[How_to_make_a_server#FTP - File Transfer Protocol Program| FTP Programs]] above and extract the [[Downloads| Latest Version]] of Fortress Forever to your Half Life 2 Based Server.
  
=====Note(s):=====
+
====Note(s):====
  
<b>A)</b> You must be running a Half Life 2 Based server for Fortress Forever to run.
+
'''A)''' You must be running a Half Life 2 Based server for Fortress Forever to run.
  
<b>B)</b> You may need to create a new FortressForever file in your server's core files. You will need to consult your server company for suggestions on how to do this.
+
'''B)''' You may need to create a new FortressForever file in your server's core files. You will need to consult your server company for suggestions on how to do this.
  
 
==Customizing Your Server==
 
==Customizing Your Server==
Line 123: Line 123:
 
HTTP downloading has three major benefits:
 
HTTP downloading has three major benefits:
  
1. There is no impact on the game server when downloading custom content, as a completely separate HTTP content server does the transfer
+
'''1.''' There is no impact on the game server when downloading custom content, as a completely separate HTTP content server does the transfer
  
2. Players will download custom content at their maximum transfer rate, resulting in much faster downloads
+
'''2.''' Players will download custom content at their maximum transfer rate, resulting in much faster downloads
  
3. Players who are downloading custom content do not take up a player slot on the server while they wait
+
'''3.''' Players who are downloading custom content do not take up a player slot on the server while they wait
  
 
=====What Players Connecting See=====
 
=====What Players Connecting See=====
Line 133: Line 133:
 
When a player connects to a server utilizing custom content, one of two things will occur:
 
When a player connects to a server utilizing custom content, one of two things will occur:
  
1. If the server is not configured for HTTP download, the game server will use the normal "trickle" download mechanism
+
'''1.''' If the server is not configured for HTTP download, the game server will use the normal "trickle" download mechanism
  
2. If the server is configured for HTTP downloading, the player will see an enhanced download dialog, and much faster downloads. While this content is downloading, they are not connected to the game server. Once the download finishes, they are automatically reconnected to the game server, and ready to play.
+
'''2.''' If the server is configured for HTTP downloading, the player will see an enhanced download dialog, and much faster downloads. While this content is downloading, they are not connected to the game server. Once the download finishes, they are automatically reconnected to the game server, and ready to play.
  
 
If any of the custom content is not present on the HTTP content server or the case of the file name does not match then the player will disconnect from the HTTP and fall back and download any remaining content via trickle download from the server.
 
If any of the custom content is not present on the HTTP content server or the case of the file name does not match then the player will disconnect from the HTTP and fall back and download any remaining content via trickle download from the server.
Line 144: Line 144:
 
To configure your server for fast downloads, just follow these easy steps.
 
To configure your server for fast downloads, just follow these easy steps.
  
1. Make a list of all the custom files (.res, .lua, .bsp, .vmt, .vtf, etc) used on your server
+
'''1.''' Make a list of all the custom files (.res, .lua, .bsp, .vmt, .vtf, etc) used on your server
  
2. Put these files on a HTTP server (ie: webserver), keeping the folder layout intact
+
'''2.''' Put these files on a HTTP server (ie: webserver), keeping the folder layout intact
  
3. OPTIONAL: To display a "banner image" to players that download content, place a 340x56 pixel image in the file <custom content directory>/gfx/banner.gif
+
'''3.''' OPTIONAL: To display a "banner image" to players that download content, place a 340x56 pixel image in the file <custom content directory>/gfx/banner.gif
  
4. Set the sv_downloadurl cvar to <nowiki>"http://yourserver/custom_content_directory/"</nowiki>
+
'''4.''' Set the sv_downloadurl cvar to <nowiki>"http://yourserver/custom_content_directory/"</nowiki>
  
 
======Example:======
 
======Example:======
Line 206: Line 206:
 
=====Summary=====
 
=====Summary=====
  
1. The command you enter into the server is:
+
'''1.''' The command you enter into the server is:
  
 
<code><pre>sv_downloadurl <nowiki>"http://<yoururl>/FortressForever/"</nowiki></pre></code>
 
<code><pre>sv_downloadurl <nowiki>"http://<yoururl>/FortressForever/"</nowiki></pre></code>
Line 212: Line 212:
 
use quotemarks on either side of the string and include the final "/".
 
use quotemarks on either side of the string and include the final "/".
  
2. Then you create folders for gfx/env, maps, overviews, sound, sprites, models, etc. and populate them with the respective resource and in the "FortressForever" directory exactly the way you would populate your server normally.
+
'''2.''' Then you create folders for gfx/env, maps, overviews, sound, sprites, models, etc. and populate them with the respective resource and in the "FortressForever" directory exactly the way you would populate your server normally.
  
 
If the client has ANY of the files already (including the BSP) it will not be overwritten, there is no way to do that, the client must delete the out of date or offending resource him/herself.
 
If the client has ANY of the files already (including the BSP) it will not be overwritten, there is no way to do that, the client must delete the out of date or offending resource him/herself.
Line 218: Line 218:
 
Win32 http servers are more case insensitive then linux http servers but its best to do the job right in the beginning otherwise you end up propagating bad resources to all the clients which will make things a real headache later.
 
Win32 http servers are more case insensitive then linux http servers but its best to do the job right in the beginning otherwise you end up propagating bad resources to all the clients which will make things a real headache later.
  
3. To make your client DL times even faster and conserve space on your hosting account [[How_to_make_a_server#Compression_Utility_Program|compress]] all files to .bz2 format.
+
'''3.''' To make your client DL times even faster and conserve space on your hosting account [[How_to_make_a_server#Compression_Utility_Program|compress]] all files to .bz2 format.
  
 
==Help==
 
==Help==
Line 226: Line 226:
 
===[AE] on TeamSpeak===
 
===[AE] on TeamSpeak===
  
The [[AssEater_Clan|<nowiki>[AE]</nowiki>Clan]] has offered and setup a outlet to give people assistance with setting up their server using the voice communication program Team Speak. To utilize this resource you must have the program installed. The program is completely free and user friendly, not to mention easy to use. It can be downloaded from: [http://www.goteamspeak.com The Teamspeak Web-Site]
+
The [[AssEater_Clan|<nowiki>[AE]</nowiki>Clan]] has offered and setup an outlet to give people assistance with setting up their server using the voice communication program Team Speak. To utilize this resource you must have the program installed. The program is completely free and user friendly, not to mention easy to use. It can be downloaded from: [http://www.goteamspeak.com The Teamspeak Web-Site]
  
 
To get server help from the [[AssEater_Clan|<nowiki>[AE]</nowiki>Clan]]; download and install Team Speak the then copy and paste the following line into your browser:
 
To get server help from the [[AssEater_Clan|<nowiki>[AE]</nowiki>Clan]]; download and install Team Speak the then copy and paste the following line into your browser:
Line 234: Line 234:
 
When you click on the link you will get a message asking if you want to launch an associated program which you will need to accept in order for the link to automatically launch the Team Speak program and put you in the [AE] clan’s communication server.
 
When you click on the link you will get a message asking if you want to launch an associated program which you will need to accept in order for the link to automatically launch the Team Speak program and put you in the [AE] clan’s communication server.
  
=====Note(s):=====
+
====Note(s):====
  
 
'''A)''' Once you enter the server if someone doesn’t join the channel and make contact you with you within 3-5 minutes click on an [AE] player’s name that is in another channel and send them a text message requesting assistance.
 
'''A)''' Once you enter the server if someone doesn’t join the channel and make contact you with you within 3-5 minutes click on an [AE] player’s name that is in another channel and send them a text message requesting assistance.
Line 250: Line 250:
 
Please use descriptive titles in the "subject" line as to assure that your email is sent to the right box and checked by the appropriate person(s).
 
Please use descriptive titles in the "subject" line as to assure that your email is sent to the right box and checked by the appropriate person(s).
  
==Contributions==
+
==References==
  
 
===Web-Sites===
 
===Web-Sites===

Revision as of 16:37, 20 January 2008

Overview

What is a server?

A server is a portal that allows other online players to play the game.

There are 4 types of servers to choose from:

Listen Server

This type of server may be started in-game by selecting the Create Server option. Listen Servers are ideal for small LAN games (this type of server is not intended to be used as a public server).

Steam Dedicated Server

This type of server may be started through Steam by selecting a server application to run under the Tools tab. Steam Dedicated Servers require more system resources than the Stand-Alone Dedicated Server and cannot be started automatically when your computer is booted up.

Stand-Alone Dedicated Server

This type of server is intended for advanced users who intend to run the dedicated server software to host internet games. Stand-Alone Dedicated Servers offer the best performance and configuration options, however, you must use a console interface to manage the server.

Linux Dedicated Server

The Linux Dedicated Server is a variant of the Stand-Alone Dedicated Server designed to run on Linux.

Getting Started

What programs do I need?

Before you even start the server install you really need to have several programs which are necessary tools that will enable you to configure/update and manage your server.

Listed below are the programs that are recommended you have installed and are somewhat familiar with before you start putting together your server.

FTP - File Transfer Protocol Program

In order to upload your server’s files from your computer to the remote server that runs your ff server and vise versa you must have an FTP or File Transfer Protocol Program. Many hosting companies offer file access through your browser and it is useful for a quick update if you are not on your primary computer. However, an actual FTP client is much more stable and faster to use.

There are lots of free FTP programs available on the Internet but almost all of them have limitations, nag screens or are supported by ads. We recommend the following FTP clients which are widely used, fully functional and completely free:

Coreftp

WinSCP

Compression Utility Program

In order to conserve hard drive space, extract compressed files (of various formats) and to create .bz2 files if you utilize the fast download feature for your web site you need to have a compression utility program.

There are lots of free compression utility programs available on the Internet but almost all of them have limitations, nag screens or are supported by ads. We recommend using the following compression utility program which is widely used, fully functional and completely free:

7-zip

Server Management Program

In order to manage your server, test configuration variables and check on it’s status one must have a server management program.

There are lots of free server management programs available on the Internet but a lot of them have limitations, nag screens, are supported by ads . We recommend using the following server management utility which is widely used, fully functional and completely free:

HLSW Gameserver Tool

Note(s):

A) Download and use the “Official Download” for the most stable version.

B) You do not need to utilize the built steam log in part of HLSW to effectively manage your server. It is only required if you want to be able to log into it and utilize Steam functions like chat. Just click on “Offline Mode” to manage you server.

Installing the Mod

Most game server companies are willing to DL and install mods for you so give them the the Link for the Downloads Section And ask them to DL and install the latest release.

If they are not willing to do this you will need to use one of the FTP Programs above and extract the Latest Version of Fortress Forever to your Half Life 2 Based Server.

Note(s):

A) You must be running a Half Life 2 Based server for Fortress Forever to run.

B) You may need to create a new FortressForever file in your server's core files. You will need to consult your server company for suggestions on how to do this.

Customizing Your Server

Once you have your server set up, you will probably want to customize your server. There are several things you can do to customize your server. However we have broken it down to Basic Server Customizations and Advanced Server Customizations to make things simpler.

Basic Server Customizations

This section will cover some of the more basic changes you may want to implement on your server.

Such as:

Changing Your Server's Name

Creating a Custom Mapcycle

Customizing Your Message of the Day

Uploading Maps

Advanced Server Customizations

This section will cover some of the more advanced changes you may want to implement on your server.

Such as:


Installing MetaMod:Source

Metamod:Source is an advanced plugin system for Half-Life 2. Plugins for Metamod:Source are written in C++ (not to be confused with "SourceMod"). It is similar to Valve's plugin layer, but much more advanced. It is coupled with SourceHook, an expansive API layer for intercepting and hooking individual virtual functions. Metamod:Source greatly simplifies otherwise hacky tasks and provides safe ways for multiple plugins to hook the same object.

It is recommended that you never download a beta version of anything if you are planning on using your server for public games. Most companies will have a released version and a beta version. Generally you are going to have problems if you download / upload a beta version. So again, you may want to download / upload the latest released version. This will make your install a lot easier, especially if you are not familar with your server files. You will also need to know what operating system (OS) you have for your server. Windows, or Linux 32 or 64 bit for the installer to install the proper files. For more details on how to install MetaMod:Source you might want to read through the MetaMod:Source Web-Site

Installing Admin Plugins

Creating a Fast Downloads Server

Half-Life now supports the download of custom content (maps, skins, sounds, and so on) from a HTTP server (ie: webserver) when connecting, instead of downloading directly from the game server itself.

HTTP downloading has three major benefits:

1. There is no impact on the game server when downloading custom content, as a completely separate HTTP content server does the transfer

2. Players will download custom content at their maximum transfer rate, resulting in much faster downloads

3. Players who are downloading custom content do not take up a player slot on the server while they wait

What Players Connecting See

When a player connects to a server utilizing custom content, one of two things will occur:

1. If the server is not configured for HTTP download, the game server will use the normal "trickle" download mechanism

2. If the server is configured for HTTP downloading, the player will see an enhanced download dialog, and much faster downloads. While this content is downloading, they are not connected to the game server. Once the download finishes, they are automatically reconnected to the game server, and ready to play.

If any of the custom content is not present on the HTTP content server or the case of the file name does not match then the player will disconnect from the HTTP and fall back and download any remaining content via trickle download from the server.


Configuring Your Server

To configure your server for fast downloads, just follow these easy steps.

1. Make a list of all the custom files (.res, .lua, .bsp, .vmt, .vtf, etc) used on your server

2. Put these files on a HTTP server (ie: webserver), keeping the folder layout intact

3. OPTIONAL: To display a "banner image" to players that download content, place a 340x56 pixel image in the file <custom content directory>/gfx/banner.gif

4. Set the sv_downloadurl cvar to "http://yourserver/custom_content_directory/"

Example:

Your server uses the non-standard map "ff_generic", which requires the following files:

C:\Program Files\Steam\Steamapps\FortressForever\maps\ff_generic.bsp

C:\Program Files\Steam\Steamapps\FortressForever\maps\ff_generic.lua

C:\Program Files\Steam\Steamapps\FortressForever\sound\ambience\ff_generic_a.wav

C:\Program Files\Steam\Steamapps\FortressForever\sound\ambience\ff_generic_b.wav

C:\Program Files\Steam\Steamapps\FortressForever\sound\ambience\ff_generic_c.wav


You have web space (perhaps through your ISP) with the URL "http://www.fakeurl.com/notreal" that you will use to host your custom content.


To do this, you copy the files needed for "ff_generic" to your webspace, placing them in a folder called "my_ff" in your webspace top-level directory, keeping their directory layout intact.


You now have the following files in your webspace:

http://www.fakeurl.com/notreal/my_ff/FortressForever/maps/ff_generic.bsp http://www.fakeurl.com/notreal/my_ff/FortressForever/maps/ff_generic.lua http://www.fakeurl.com/notreal/my_ff/FortressForever/sound/ambience/ff_generic_a.wav http://www.fakeurl.com/notreal/my_ff/FortressForever/sound/ambience/ff_generic_b.wav http://www.fakeurl.com/notreal/my_ff/FortressForever/sound/ambience/ff_generic_c.wav


You now set the "sv_downloadurl" cvar on your game server to "http://www.fakeurl.com/notreal/my_ff/".


Players who then connect to your server will automatically download the map "ff_generic" and its required files from your webspace when they connect

(unless they already have it, of course).

Technical Details
  • The maximum length of the sv_downloadurl is 127 characters
  • A username and password can be specified for the HTTP server by embedding them in the sv_downloadurl like so:
http://username:password@www.somewhere.com/

( Note - recent IE patches may disable this functionality )

  • If a connecting player has an existing file of the same name, it will not be overwritten. The download file will be skipped.
  • Certain game-crtical and/or dangerous files cannot be downloaded (ie: *.exe, *.vbs, etc)
Summary

1. The command you enter into the server is:

sv_downloadurl "http://<yoururl>/FortressForever/"

use quotemarks on either side of the string and include the final "/".

2. Then you create folders for gfx/env, maps, overviews, sound, sprites, models, etc. and populate them with the respective resource and in the "FortressForever" directory exactly the way you would populate your server normally.

If the client has ANY of the files already (including the BSP) it will not be overwritten, there is no way to do that, the client must delete the out of date or offending resource him/herself.

Win32 http servers are more case insensitive then linux http servers but its best to do the job right in the beginning otherwise you end up propagating bad resources to all the clients which will make things a real headache later.

3. To make your client DL times even faster and conserve space on your hosting account compress all files to .bz2 format.

Help

Altough we have tried our hardest to be as detailed and helpful as possible, we all know that there is no way we can possibly answer all your questions. So if you feel your in need of some major help, please feel free to contact someon via the portals below:

[AE] on TeamSpeak

The [AE]Clan has offered and setup an outlet to give people assistance with setting up their server using the voice communication program Team Speak. To utilize this resource you must have the program installed. The program is completely free and user friendly, not to mention easy to use. It can be downloaded from: The Teamspeak Web-Site

To get server help from the [AE]Clan; download and install Team Speak the then copy and paste the following line into your browser:

teamspeak://63.209.37.155:8822/nickname=FF_Help

When you click on the link you will get a message asking if you want to launch an associated program which you will need to accept in order for the link to automatically launch the Team Speak program and put you in the [AE] clan’s communication server.

Note(s):

A) Once you enter the server if someone doesn’t join the channel and make contact you with you within 3-5 minutes click on an [AE] player’s name that is in another channel and send them a text message requesting assistance.

B) Please be patient while waiting for someone to assist you as they may have to stop playing FF and then join you in the channel to provide you assistance.

IRC

See discussion page

Email

If you can not find what your looking for please feel free to email us at FortressForeverHelp@gmail.com and we will assist you the best we can.

Please use descriptive titles in the "subject" line as to assure that your email is sent to the right box and checked by the appropriate person(s).

References

Web-Sites

What is a server: www.steampowered.com

Configuring Your Server: www.steampowered.com