GitBook: [master] 16 pages and 10 assets modified
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 296 B After Width: | Height: | Size: 296 B |
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
@ -1,6 +1,6 @@
|
||||
# Discord
|
||||
|
||||
![](../.gitbook/assets/discord_logo-1.png)
|
||||
![](../.gitbook/assets/discord_logo.png)
|
||||
|
||||
[Discord](https://discordapp.com) is a VoIP app that allows other applications to send messages via a webhook. This functionality is used to allow users to recieve alerts about LinuxGSM.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Email
|
||||
|
||||
A linux server's own email solution can be used to receive alerts about LinuxGSM.
|
||||
A Linux server's own email solution can be used to receive alerts about LinuxGSM.
|
||||
|
||||
## Sending emails
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# IFTTT
|
||||
|
||||
![](../.gitbook/assets/ifttt_logo-1.png)
|
||||
![](../.gitbook/assets/ifttt_logo.png)
|
||||
|
||||
There are hundreds in integrations available on [IFTTT](https://ifttt.com) allowing you to send alerts in all sorts of different ways to various services and devices. This functionality is used to allow users to recieve alerts about LinuxGSM.
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
[Mailgun](https://www.mailgun.com) is a paid-for email service that allows LinuxGSM to send emails via an API, bypassing the need to use postfix. This method of sending email notifications is generally more reliable.
|
||||
|
||||
An option to setup Mailgun as an email relay in postfix is also available.
|
||||
An option to setup Mailgun as an email relay in postfix is also available.
|
||||
|
||||
Mailgun's Flex Package allows 3 free months up to 5000 emails then turns into a pay-as-you-go plan afterwards.
|
||||
|
||||
@ -21,6 +21,7 @@ mailgunemail="email@myemail.com"
|
||||
|
||||
To set the api endpoint of the mailgun api to the EU Endpoint, please add the following to the config:
|
||||
|
||||
```
|
||||
```text
|
||||
mailgunapiregion="eu"
|
||||
```
|
||||
|
||||
|
@ -2,23 +2,24 @@
|
||||
|
||||
![](../.gitbook/assets/pushover_logo.png)
|
||||
|
||||
[Pushover](https://pushover.net) allows the sending of push notifications to various devices such a PC, phone and tablet. This functionality is used to allow users to recieve alerts about LinuxGSM.
|
||||
[Pushover](https://pushover.net) allows the sending of push notifications to various devices such a PC, phone and tablet. This functionality is used to allow users to receive alerts about LinuxGSM.
|
||||
|
||||
## Setup Pushover Alerts
|
||||
|
||||
A Pushover application is required to send messages to Pushover. 1. Visit [here](https://pushover.net/apps/build) to create a new application.
|
||||
A Pushover application and your user key is required to send messages to Pushover.
|
||||
|
||||
Visit [here](https://pushover.net/apps/build) to create a new application.
|
||||
|
||||
* name: LinuxGSM
|
||||
* type: Script
|
||||
* icon:
|
||||
* Check the box agreeing to the Terms Of Service.
|
||||
* Once the application has been created get the API key.
|
||||
* Turn on Pushover alerts and paste in API key and user in the [LinuxGSM config](../configuration/linuxgsm-config.md).
|
||||
|
||||
```text
|
||||
# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover
|
||||
pushoveralert="on"
|
||||
pushoveruserkey="yourpushoverid"
|
||||
pushovertoken="b5u24t1wua34gmh14kr1s3erkwi7tl"
|
||||
```
|
||||
Once the application has been created get the API key and user key \(which can be found in the pushover dashboard\).
|
||||
Turn on Pushover alerts and paste in API key and user key in the [LinuxGSM config](../configuration/linuxgsm-config.md).
|
||||
|
||||
```text
|
||||
# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover
|
||||
pushoveralert="on"
|
||||
pushoveruserkey="yourpushoverid"
|
||||
pushovertoken="b5u24t1wua34gmh14kr1s3erkwi7tl"
|
||||
```
|
||||
|
||||
|
@ -1,4 +1,16 @@
|
||||
# Rocket.Chat
|
||||
|
||||
WIP
|
||||
![](../.gitbook/assets/rocket.chat.jpg)
|
||||
|
||||
**Rocket.chat** is open-source collaberation tool.
|
||||
|
||||
## Create a Rocket.chat Webhook
|
||||
|
||||
1. Follow the [Rocket.chat guide](https://docs.rocket.chat/guides/administrator-guides/integrations#incoming-webhook-script) on how to create an incoming webhook.
|
||||
2. Copy the Webhook URL.
|
||||
3. Turn on slack alerts and enter the URL in to the [LinuxGSM settings](../configuration/linuxgsm-config.md). \(`~/lgsm/config-lgsm/<gameserver>/common.cfg`\)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Telegram
|
||||
|
||||
[Telegram](https://telegram.org) is an instant messenger app that allows other applications to send messages via a webhook. This functionality is used to allow users to recieve alerts about LinuxGSM.
|
||||
[Telegram](https://telegram.org) is an instant messenger app that allows other applications to send messages via a webhook. This functionality is used to allow users to receive alerts about LinuxGSM.
|
||||
|
||||
## Setup a Telegram Bot
|
||||
|
||||
@ -75,7 +75,7 @@ Add the chat id to the [LinuxGSM config](../configuration/linuxgsm-config.md).
|
||||
The number given is the chat id
|
||||
|
||||
{% hint style="warning" %}
|
||||
A group number includes a dash in the chat id e.g `-191537238`
|
||||
A group number might include a dash in the chat id e.g `-191537238`
|
||||
{% endhint %}
|
||||
|
||||
```text
|
||||
@ -100,3 +100,7 @@ Finally, test that everything correctly works by sending a test alert. You will
|
||||
./gameserver test-alert
|
||||
```
|
||||
|
||||
## Custom cURL String
|
||||
|
||||
You can add a custom cURL string eg proxy \(useful in Russia\) in "curlcustomstring"
|
||||
|
||||
|
@ -27,11 +27,13 @@ Zip add-ons are currently the only supported installations.
|
||||
|
||||
\(This list was last updated on 2020-11-19\)
|
||||
|
||||
### Goldsrc Engine Games (v20.6.0+)
|
||||
### Goldsrc Engine Games \(v20.6.0+\)
|
||||
|
||||
* Metamod
|
||||
* AMX Mod X
|
||||
|
||||
###### Additional Game Specific **AMX Mod X** addons:
|
||||
**Additional Game Specific AMX Mod X addons:**
|
||||
|
||||
* Counter-Strike 1.6
|
||||
* Day of Defeat
|
||||
* Team Fortress Classic
|
||||
|
@ -40,6 +40,18 @@ Do not edit \_default.cfg any changes to this file will be overwritten.
|
||||
|
||||
`instance.cfg` is the configuration file used for each individual game server instance. Settings here will only apply to this specific game server instance. This config file takes the same name as the game server instance name `./gameserver`. For example, if `./csgoserver` is used the _instance.cfg_ will be called `csgoserver.cfg`. This config is last to be loaded.
|
||||
|
||||
### Secret Configs
|
||||
|
||||
{% hint style="danger" %}
|
||||
Secret configs are not enrypted, but a place to store sensetive info away from other configs.
|
||||
{% endhint %}
|
||||
|
||||
The secret configs are a place to put sensitive information such as steam login details away from the main config files. This is done to allow server admins to backup their configs while excluding sensitive information. This is particularly useful for admins who want to create a version-controlled skeleton configuration using git that they might want to make public.
|
||||
|
||||
It is important to know that the secret config is NOT encrypted or any more secure than other configs.
|
||||
|
||||
A secret config can be identified with the word `secrets` prepended to the front of the config name.
|
||||
|
||||
### Config Load Priority
|
||||
|
||||
When LinuxGSM is loading the configs they will load in order. First taking settings from `_default.cfg` then `common.cfg` and finally `instance.cfg`. This means that any setting set in `instance.cfg` will override that setting in `common.cfg` which in turn will override the setting in `_default.cfg`.
|
||||
|
@ -2,3 +2,11 @@
|
||||
|
||||
WIP
|
||||
|
||||
## Home Servers
|
||||
|
||||
Home servers are a great way to experiment with game servers, for LAN partys or can be used as a permanent option if you have the bandwidth. There are extra steps required on your home router to allow external access to your game server. This will normally involve opening ports on the router firewall and/or port forwarding. See [this link](https://www.howtogeek.com/66214/how-to-forward-ports-on-your-router/) for basic instructions. See your router's manual for specific instructions.
|
||||
|
||||
### Specifying you IP for Home Server
|
||||
|
||||
If you want to specify the game server IP address using the `ip=` you will need to set the IP address of the servers LAN interface \(e.g 192.168.1.2\), not your routers external IP. Setting this incorrectly will prevent the game server ports from binding and your server will not start.
|
||||
|
||||
|
@ -1,34 +1,34 @@
|
||||
# Ports
|
||||
|
||||
You will need to give attention to ports in multiple cases.
|
||||
Ports are communication endpoints for an application. A port will either listen or transmit network traffic on specific ports.
|
||||
|
||||
Here are the most common ones:
|
||||
There are port standards set by IANA for common protocols such as HTTP \(port 80\), SSH \(port 22\), SMTP \(port 25\) etc. Game servers tend to use standard ports depending upon the game engine. For example source engine games by default use port 27015 as the port it listens on.
|
||||
|
||||
* When you want to run [Multiple Game Servers](../features/multiple-game-servers.md) on the same machine
|
||||
* When you have a strict firewall and you need to open the right ports in order to let people connect to your server \(see [Firewalls](../linux/firewalls.md)\)
|
||||
* When you need to forward ports on a NAT to the desired local IP in order for your server to be reachable from outside the local network \(likely from the internet\)
|
||||
~~Here are the most common ones:~~
|
||||
|
||||
## Generalities and vocabulary
|
||||
* ~~When you want to run~~ [~~Multiple Game Servers~~](../features/multiple-game-servers.md) ~~on the same machine~~
|
||||
* ~~When you have a strict firewall and you need to open the right ports in order to let people connect to your server \(see~~ [~~Firewalls~~](../linux/firewalls.md)~~\)~~
|
||||
* ~~When you need to forward ports on a NAT to the desired local IP in order for your server to be reachable from outside the local network \(likely from the internet\)~~
|
||||
|
||||
* `Port listening` is what a service like a game server does in order to receive packets from incoming connections: by listening to a port, the program waiting for incoming packets on a given port.
|
||||
* `Port redirection` happens on a router, in the NAT part \(can also be done using iptables, but unlikely what you are looking for\): it consists in forwarding incoming traffic on a given port to a specific local \(regarding the router\) IP.
|
||||
* `Port opening` happens on a firewall, it consists in allowing traffic to a port.
|
||||
* The IP variable `ip=` always needs to be the server interface IP, not your routers external IP: a service on a server can only listen on a local IP that is present on an interface of the hosting machine.
|
||||
* In order to `run multiple game servers` on the same machine, you need to make sure they all use different ports, or if your server has multiple public IPs, that they are bound to different IPs.
|
||||
## Vocabulary
|
||||
|
||||
## Setting ports
|
||||
* _**Port listening**_ ****is what a service like a game server does in order to receive packets from incoming connections: by listening to a port, the program waiting for incoming packets on a given port.
|
||||
* _**Port opening**_ happens on a firewall, it consists of allowing traffic to a port.
|
||||
* _**Port redirection**_ is part of NAT and happens on a router or firewall. It consists of forwarding incoming traffic on a given port to a specific local IP.
|
||||
* _**Network Address Translation \(NAT\)**_ is a method of remapping an IP address into another by modifying [network address](https://en.wikipedia.org/wiki/Network_address) information.
|
||||
|
||||
Listening ports are usually set within your start parameters, sometimes in the game server config file.
|
||||
## Game Server Ports
|
||||
|
||||
For info about start parameters, see [Start Parameters](start-parameters.md) and [LinuxGSM Config](linuxgsm-config.md) For info about your game server config, see [Game Server Config](game-server-config.md).
|
||||
Game Servers typicaliy have ports for the following functions.
|
||||
|
||||
## View current settings
|
||||
Game port: The port that players connect to.
|
||||
Query port: Used by software to gather information from the server such as server name, map and number of players.
|
||||
Rcon port
|
||||
Web port: used for game server that have web admin panels
|
||||
|
||||
To view your current server ports, input:
|
||||
Depending upon which game server being used, you can set game server ports within your start parameters or game server config file.
|
||||
|
||||
`./gameserver details`
|
||||
|
||||
Example output sample:
|
||||
LinuxGSM allows you to see the ports your game server is using with the `./gameserver details` command.
|
||||
|
||||
```text
|
||||
Useful port diagnostic command:
|
||||
@ -40,9 +40,11 @@ DESCRIPTION DIRECTION PORT PROTOCOL
|
||||
< Client OUTBOUND 27002 udp
|
||||
```
|
||||
|
||||
## Changing default ports
|
||||
## Changing Default Ports
|
||||
|
||||
Default ports are set in either the start parameters or game config. You can use `./gameserver details` to find out where to edit port settings
|
||||
Default ports are set in either the [start parameters](start-parameters.md) or [game config](game-server-config.md).
|
||||
|
||||
LinuxGSMYou can use `./gameserver details` to find out where to edit port settings
|
||||
|
||||
```text
|
||||
# Ports
|
||||
@ -65,23 +67,15 @@ ip="0.0.0.0"
|
||||
|
||||
### Which ports can be used?
|
||||
|
||||
You can use any port as long as it is not already in use and it is up to admins how to setup port allocation. It is recommended that ports are close together and sequential i.e 27015,27016,27017 to save confusion. Some servers ports by default are not sequential, however, there is nothing stopping an admin from changing this. Example for source servers; you could set the port 27015, sourcetv port 27016, client port 27018. The next game server instance could simply follow on from this.
|
||||
You can use any port as long as it is not already in use and it is up to you to set up port allocation. It is recommended that ports are close together and sequential i.e 27015, 27016, 27017 to save confusion. Some servers ports by default are not sequential, however, there is nothing stopping you from changing this. Example for source engine game servers; you could set the port 27015, source tv port 27016, client port 27018. The next game server instance could simply follow on from this.
|
||||
|
||||
> Reminder: If you're running several servers, make sure you're using different ports on all of your servers.
|
||||
{% hint style="info" %}
|
||||
If you're running multiple game servers, make sure you're using different ports on all of your game servers to avoid a port conflict.
|
||||
{% endhint %}
|
||||
|
||||
## Multiple IP addresses
|
||||
|
||||
Should a server has multiple dedicated IP addresses allocated, it is possible for game servers to have the same ports but bound to the different IP addresses. Admins will need to set the specific IP address in the LinuxGSM config or game config.
|
||||
|
||||
## Home Servers
|
||||
|
||||
Home servers are a great way to experiment with game servers or can be used as a permanent option if you have the bandwidth. There are extra steps required on your home router to allow external access to your game server. This will normally involve opening ports on the router firewall and/or port forwarding. See [this link](https://www.howtogeek.com/66214/how-to-forward-ports-on-your-router/) for basic instuctions. See your router's manual for specific instructions.
|
||||
|
||||
### ip= setting for home servers
|
||||
|
||||
If your server has multiple interfaces you will be prompted to specify the server IP you want to use.
|
||||
|
||||
You will need to set the IP address of the servers LAN interface \(e.g 192.168.1.2\), not your routers external IP. Setting this incorrectly will prevent the game server ports from binding and your server will not start.
|
||||
Should a server have multiple dedicated IP addresses allocated, it is possible for game servers to have the same ports but bound to the different IP addresses. Admins will need to set the specific IP address in the LinuxGSM config or game config.
|
||||
|
||||
## Port Allocation Scheme
|
||||
|
||||
@ -133,20 +127,29 @@ You can get new IP addresses for your dedicated server, and assign each server a
|
||||
|
||||
If you are running several game servers it is a good idea to create a spreadsheet of the ports you have used. Allowing you to keep track of what you have already used.
|
||||
|
||||
### Diagnosing server accessibility
|
||||
## Diagnosing server accessibility
|
||||
|
||||
1\) Ensure the game server ports are bound and listening Before anything else, you need to know if your server is actually listening. Input : `./gameserver details` and look for this kind of diagnose command:
|
||||
### Check port are bound
|
||||
|
||||
Ensure the game server ports are bound and listening before anything else, you need to know if your server is actually listening. Input : `./gameserver details` and look for this kind of diagnose command:
|
||||
|
||||
```text
|
||||
Useful port diagnostic command:
|
||||
netstat -atunp | grep srcds_linux
|
||||
```
|
||||
|
||||
Running the command will bring up any ports that are listening. If not, the server has not started or not correcting binding to its allocated ports. Check that ports are not already in use by something else. Check that you are trying to listen to an actual interface IP, check that ports are not already in use by another application, check that the server does not crash upon start by checking console logs or try starting the server with `./gameserver debug`
|
||||
Running the command will bring up any ports that are listening. If not, the game server has not started or not correctly binding to its allocated ports.
|
||||
|
||||
* Check that ports are not already in use by something else.
|
||||
* Check that you are trying to listen to an actual interface IP.
|
||||
* Check that ports are not already in use by another application.
|
||||
* check that the server does not crash upon start by checking console logs or try starting the server with `./gameserver debug`
|
||||
|
||||
### Check the Firewall
|
||||
|
||||
2\) Check the Firewall
|
||||
[Firewalls](../linux/firewalls.md) are a regular source of connectivity issues. When diagnosing connection issues temporarily disabling a firewall will help identify if it is the source of the problem.
|
||||
|
||||
3\) Check Port Forwarding \(local networks only\)
|
||||
### Check Port Forwarding \(Local Networks\)
|
||||
|
||||
Ensure that the router correctly redirects incoming traffic to the correct ports and local IP displayed with `./gameserver details` with the correct protocol \(TCP and/or UDP\).
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Game Servers
|
||||
|
||||
LinuxGSM cannot always provide support for specific game servers. However there are various support forums available for specific game server support that may be useful. Below is a list of useful links support forums:
|
||||
LinuxGSM cannot always provide support for specific game servers. However, there are various support forums available for specific game server support that may be useful. Below is a list of useful links support forums:
|
||||
|
||||
* [ARK: Survival Evolved](https://survivetheark.com/index.php?/forums/forum/39-server-administration/)
|
||||
* [ARMA 3](https://forums.bohemia.net/forums/forum/159-arma-3-servers-administration/)
|
||||
@ -9,7 +9,6 @@ LinuxGSM cannot always provide support for specific game servers. However there
|
||||
* [Counter-Strike: Source](https://steamcommunity.com/app/240/discussions/)
|
||||
* [Day of Defeat: Source](https://steamcommunity.com/app/300/discussions/)
|
||||
* [Day of Infamy](https://steamcommunity.com/app/447820/discussions/)
|
||||
* [GoldenEye: Source](https://forums.geshl2.com/)
|
||||
* [Garry's Mod](https://forum.facepunch.com/f/)
|
||||
* [Insurgency](https://steamcommunity.com/app/222880/discussions/2/)
|
||||
* [Killing Floor 2](https://forums.tripwireinteractive.com/forum/killing-floor-2/technical-support-ae/dedicated-server-support-ac)
|
||||
@ -20,6 +19,6 @@ LinuxGSM cannot always provide support for specific game servers. However there
|
||||
* [Team Fortress 2](https://steamcommunity.com/app/440/discussions/)
|
||||
* [Teamspeak 3](https://forum.teamspeak.com/forums/93-TeamSpeak-3-Technical-Discussions-EN-DE)
|
||||
* [Unreal Tournament 2004](https://www.epicgames.com/unrealtournament/forums/past-unreal-tournament-games/unreal-tournament-2003-2004)
|
||||
* [Unreal Tournamnet 3](https://www.epicgames.com/unrealtournament/forums/past-unreal-tournament-games/unreal-tournament-3)
|
||||
* [Unreal Tournament 3](https://www.epicgames.com/unrealtournament/forums/past-unreal-tournament-games/unreal-tournament-3)
|
||||
* [Unreal Tournament 99](https://www.epicgames.com/unrealtournament/forums/past-unreal-tournament-games/unreal-tournament-‘99)
|
||||
|
||||
|
@ -116,7 +116,7 @@ If you join before the server or your client has fully downloaded the mod you mi
|
||||
|
||||
Once you have connected to the server you will be able to see that the mod has loaded by seeing the _Mod Name_ in the game menu `Esc`.
|
||||
|
||||
![](../.gitbook/assets/image.png)
|
||||
![](../.gitbook/assets/image%20%281%29.png)
|
||||
|
||||
The example mod can be activated by pressing `F1`.
|
||||
|
||||
|
@ -13,15 +13,15 @@
|
||||
Game Modes Reference List
|
||||
|
||||
```text
|
||||
# [Game Modes] gametype gamemode mapgroup (you can mix these across all Game Modes except Danger Zone, but use only one)
|
||||
# Arms Race 1 0 mg_armsrace
|
||||
# Classic Casual 0 0 mg_casualsigma, mg_casualdelta
|
||||
# Classic Competitive 0 1 mg_active, mg_reserves, mg_hostage, mg_de_dust2
|
||||
# Custom 3 0
|
||||
# Deathmatch 1 2 mg_deathmatch
|
||||
# Demolition 1 1 mg_demolition
|
||||
# Wingman 0 2
|
||||
# Danger Zone 6 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco)
|
||||
# [Game Modes] gametype gamemode mapgroup (you can mix these across all Game Modes except Danger Zone, but use only one)
|
||||
# Arms Race 1 0 mg_armsrace
|
||||
# Classic Casual 0 0 mg_casualsigma, mg_casualdelta
|
||||
# Classic Competitive 0 1 mg_active, mg_reserves, mg_hostage, mg_de_dust2
|
||||
# Custom 3 0
|
||||
# Deathmatch 1 2 mg_deathmatch
|
||||
# Demolition 1 1 mg_demolition
|
||||
# Wingman 0 2
|
||||
# Danger Zone 6 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco)
|
||||
```
|
||||
|
||||
If players are respawning in random locations on custom maps, set `mp_randomspawn` to 0.
|
||||
@ -38,9 +38,9 @@ Add to the folloing to the config `lgsm/csgoserver/csgoserver.cfg` :
|
||||
|
||||
`tickrate="128"`
|
||||
|
||||
AS well it is needed to add a few options to the game config (default in: `serverfiles/csgo/cfg/csgoserver.cfg` )
|
||||
AS well it is needed to add a few options to the game config \(default in: `serverfiles/csgo/cfg/csgoserver.cfg` \)
|
||||
|
||||
```
|
||||
```text
|
||||
cl_cmdrate 128
|
||||
cl_updaterate 128
|
||||
sv_mincmdrate 128
|
||||
@ -48,3 +48,4 @@ sv_minupdaterate 128
|
||||
```
|
||||
|
||||
This will as well force the client to use the 128 tickrate
|
||||
|
||||
|
@ -131,5 +131,3 @@ server.writecfg ; will save config changes, including new admins
|
||||
|
||||
> Note: append `server.writecfg` after adding an admin, and player needs to reconnect the server in order for it to be applied.
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@ Symlinks create another path to a file or folder and are useful for saving space
|
||||
|
||||
This guide is for pointing multiple directories to the same folder by creating symlinks with the `ln` command.
|
||||
|
||||
In my example I symlink
|
||||
As an example, to save space hosting Killing Floor 2
|
||||
|
||||
## Symlink and ln command resources
|
||||
|
||||
|