GITBOOK-314: change request with no subject merged in GitBook

This commit is contained in:
Daniel Gibbs 2023-10-01 00:22:33 +00:00 committed by gitbook-bot
parent 0b217c0984
commit fb0e72c6fe
No known key found for this signature in database
GPG Key ID: 07D2180C7B12D0FF
9 changed files with 50 additions and 57 deletions

View File

@ -8,6 +8,7 @@
* [Start Parameters](configuration/start-parameters.md)
* [cronjobs](configuration/cronjobs.md)
* [Running on Boot](configuration/running-on-boot.md)
* [Running Multiple Game Servers](configuration/multiple-game-servers.md)
* [Local/Home Server](configuration/local-home-server.md)
* [LinuxGSM Stats](configuration/linuxgsm-stats.md)
* [Commands](commands/README.md)
@ -76,7 +77,6 @@
* [Stop Mode](features/stop-mode.md)
* [Log Management](features/logging.md)
* [Message Display Time](features/message-display-time.md)
* [Multiple Game Servers](features/multiple-game-servers.md)
* [SteamCMD](steamcmd/README.md)
* [Steam Master Server](steamcmd/steam-master-server.md)
* [Game Server Login Token](steamcmd/gslt.md)

View File

@ -1,8 +1,8 @@
# fastdl
FastDL \(Fast Download\) allows the client to download custom server content \(maps, materials, models, particles, sounds, fonts, images\) from a web server.
FastDL (Fast Download) allows the client to download custom server content (maps, materials, models, particles, sounds, fonts, images) from a web server.
It is used to offload content downloads to a web server instead of relying on source servers \(SRCDS\) that only allows 20KBps downloads to clients. Content on the web server can be compressed to further speed up the download process. This means that custom content downloads much faster.
It is used to offload content downloads to a web server instead of relying on source servers (SRCDS) that only allows 20KBps downloads to clients. Content on the web server can be compressed to further speed up the download process. This means that custom content downloads much faster.
Valve now use steam workshop for most custom content however FastDL is still required in some cases.
@ -20,20 +20,19 @@ Short: `./gameserver fd`
## Supported file formats
* Maps \(.bsp\)
* Materials \(.vtf, .vmt, .png, .svg\)
* Models \(.vtx, .vvd, .mdl, .phy\)
* Particles \(.pcf\)
* Sounds \(.wav, .mp3, .ogg\)
* Fonts \(.otf, .ttf\)
* Images \(.png, .svg\)
* Maps (.bsp)
* Materials (.vtf, .vmt, .png, .svg)
* Models (.vtx, .vvd, .mdl, .phy)
* Particles (.pcf)
* Sounds (.wav, .mp3, .ogg)
* Fonts (.otf, .ttf)
* Images (.png, .svg)
## Requirements
* Web server on the game server \(Apache/Nginx\).
or
* Web server on the game server (Apache/Nginx).
or
* Access to a remote web server.
## Usage
@ -44,11 +43,11 @@ Run the FastDL command on your main LinuxGSM script. This will create a new dire
`./gameserver fastdl`
### Create A virtual Host \(local Apache web server\)
### Create A virtual Host (local Apache web server)
If Apache2 is being used a virtual host pointing to the newly created `public_html` directory can be used.
Tip: Apache2 mod "userdir" is useful if the Linux server is hosting [multiple game servers](../features/multiple-game-servers.md), as it creates a url for the current user `http://yourwebsite.ltd/~username`.
Tip: Apache2 mod "userdir" is useful if the Linux server is hosting [multiple game servers](../configuration/multiple-game-servers.md), as it creates a url for the current user `http://yourwebsite.ltd/~username`.
#### Tutorial on setup of Apache2 server with Virtual Hosts
@ -62,7 +61,7 @@ Firstly make sure your subdomain redirects to your game server and that Apache2
See the example below and edit the relevent details.
```text
```
<VirtualHost *:80>
ServerAdmin adminemail@domain.com
ServerName subdomain.domain.com
@ -82,7 +81,7 @@ See the example below and edit the relevent details.
Enable your website by restarting Apache2
```text
```
a2ensite yourvirtualhost.com.conf
service apache2 reload
```
@ -97,7 +96,7 @@ The new url will need to be added to the [game server config](../configuration/g
Make sure you have this:
```text
```
sv_downloadurl "http://subdomain.domain.com/fastdl"
sv_allowdownload 1
```
@ -115,4 +114,3 @@ Custom server content can be compressed using bzip2 which is supported by source
#### Garry's Mod Download enforcer
In order for a client to download files from a FastDL in Garry's Mod, the developer of an addon must put files from the addon into lua code `resource.Addfile ( "/path/to/file.ext" )`. However, some addon developers do not do this. In order for clients to download the required files, an lua file needs to be generated for it to work, which is what the lua enforcer feature does. The only downside is that clients may download files that are not required on the server.

View File

@ -16,7 +16,7 @@ The `details` command will provide you with some config file information. Howeve
### Sample output example
```text
```
./gmodserver details
gmodserver Script Details
@ -34,16 +34,16 @@ Config file: /home/gmodserver/serverfiles/garrysmod/cfg/gmod-server.cfg
## LinuxGSM Custom Config's
Whenever possible, LinuxGSM provides basic easy-to-use game server configuration files.
Whenever possible, LinuxGSM provides basic easy-to-use game server configuration files.\
A dedicated repository has been made so all server admins can benefit, even Windows admins.
{% embed url="https://github.com/GameServerManagers/Game-Server-Configs" caption="" %}
{% embed url="https://github.com/GameServerManagers/Game-Server-Configs" %}
This configuration file is automatically downloaded upon server installation.
## Config file naming
Whenever possible, LinuxGSM uses a custom name for configuration files that contains the `${servicename}` variable in it in order to allow the running of [multiple game servers](../features/multiple-game-servers.md) with different config files. If the game does not allow for that, then the usual name will be used.
Whenever possible, LinuxGSM uses a custom name for configuration files that contains the `${servicename}` variable in it in order to allow the running of [multiple game servers](multiple-game-servers.md) with different config files. If the game does not allow for that, then the usual name will be used.
### Example
@ -51,7 +51,7 @@ For source servers, the default `server.cfg` is not used with LinuxGSM. Instead
## Missing configuration file handling
LinuxGSM will always check a config file is present when starting a server.
LinuxGSM will always check a config file is present when starting a server.\
If a config file is missing, it will re-download the default one or give a warning.
## Where are the settings I'm looking for?
@ -64,5 +64,4 @@ One of the goals of LinuxGSM is to make managing these as easy as possible, by p
If you found settings that are absent from the default configuration file provided by LinuxGSM that would be a useful addition, then you can open an issue or a pull request.
{% embed url="https://github.com/GameServerManagers/Game-Server-Configs" caption="" %}
{% embed url="https://github.com/GameServerManagers/Game-Server-Configs" %}

View File

@ -21,7 +21,7 @@ The LinuxGSM configuration mechanism is intentionally designed to provide users
### Configuration files
{% hint style="info" %}
An understanding of how LinuxGSM handles [multiple game server](../features/multiple-game-servers.md) instances helps.
An understanding of how LinuxGSM handles [multiple game server](multiple-game-servers.md) instances helps.
{% endhint %}
#### \_default.cfg
@ -89,7 +89,7 @@ It is recommended you only copy the settings you want to change from `_default.c
### Multiple Instances Configuration
This configuration is useful for [multiple instances](../features/multiple-game-servers.md#single-installation-with-multiple-instances).
This configuration is useful for [multiple instances](multiple-game-servers.md#single-installation-with-multiple-instances).
1. Browse to the `config-lgsm` directory

View File

@ -2,7 +2,7 @@
description: Hosting multiple game servers on the same host
---
# Multiple Game Servers
# Running Multiple Game Servers
Depending upon the game server you are running it is possible to run multiple game servers on the same server host.
@ -10,7 +10,7 @@ Depending upon the game server you are running it is possible to run multiple ga
Depending upon the circumstances you may choose a particular method or mixture of both.
It is best to make a proper plan for running multiple game servers at the earliest stage of your deployment.\
Make sure that you examined this page carefully and understood all of its content before starting.
Make sure that you examine this page carefully and understand all of its content before starting.
## Prerequisites
@ -24,7 +24,7 @@ You need some definitions to make this guide clear.
/home/gameserver/serverfiles
```
* **Instance:** Each individual game server is referred too as an _instance._ There might be multiple instances running per installation. An instance is started by running the `./gameserver` script
* **Instance:** Each individual game server is referred to as an _instance._ There might be multiple instances running per installation. An instance is started by running the `./gameserver` script
```
/home/gameserver/gameserver
@ -35,21 +35,21 @@ You need some definitions to make this guide clear.
#### LinuxGSM Configuration
You should be familiar with how [LinuxGSM Configs](../configuration/linuxgsm-config.md) work.
You should be familiar with how [LinuxGSM Configs](linuxgsm-config.md) work.
#### Understand ports
You need to understand how ports work in order to avoid port overlapping, otherwise your new instances won't start. Useful resource: [Ports](../networking/ports.md).
You need to understand how ports work in order to avoid port overlapping, otherwise, your new instances won't start. Useful resource: [Ports](../networking/ports.md).
## Single Instance per Installation
Single instance per installation is the most simple method and will fit most use cases. It keeps the server files and configs completely separate from each other.
This consists of creating a new user for each game server, repeat the install process and edit your config files ensuring default ports are changed.
This consists of creating a new user for each game server, repeating the install process, and edit your config files ensuring default ports are changed.
### Use cases
* Running different game servers require installation in a different directory
* Running different game servers requires installation in a different directory
* Running multiple servers of the same game, but they have different content, addons or mods.
* You want your game servers to be totally separate for simplicity and reduce the chance of multiple instances breaking all at once.

View File

@ -154,11 +154,11 @@ A cluster allows an admin to group ARK servers together, usually servers on diff
### Multi-Instance
ARK will not work with LinuxGSM [multi instances ](../features/multiple-game-servers.md)in the same directory. This is due to its reliance on `GameUserSettings.ini` meaning multiple instances must use the same settings.
ARK will not work with LinuxGSM [multi instances ](../configuration/multiple-game-servers.md)in the same directory. This is due to its reliance on `GameUserSettings.ini` meaning multiple instances must use the same settings.
### Adding Servers to Clusters
Firstly, setup [multiple ARK game server instances](../features/multiple-game-servers.md).
Firstly, setup [multiple ARK game server instances](../configuration/multiple-game-servers.md).
Change the command-line parameters for your server instances by editing the instance configs:

View File

@ -10,10 +10,10 @@
### Headless Client Overview
[https://community.bistudio.com/wiki/Arma\_3\_Headless\_Client](https://community.bistudio.com/wiki/Arma_3_Headless_Client)
[https://community.bistudio.com/wiki/Arma\_3\_Headless\_Client](https://community.bistudio.com/wiki/Arma\_3\_Headless\_Client)
* Headless Client is used to offload AI calculations from the server.
* Headless Client is integrated into game client and dedicated server executable \(Windows and Linux, use -client parameter\).
* Headless Client is integrated into game client and dedicated server executable (Windows and Linux, use -client parameter).
* The server does not allow arbitrary connections from headless clients if you do not define the headless clients IPs in the server.cfg.
### Headless Client Setup and Usage
@ -24,7 +24,7 @@ Starting up a headless client and having it connect to your server is easy, Crea
This guide only handles the setup and connecting a headless client.
{% endhint %}
Create a [new server instance](../features/multiple-game-servers.md) using LinuxGSM `./linuxgsm.sh arma3server`. This will become the headless client instance and rename the new instance to `arma3server-hc`.
Create a [new server instance](../configuration/multiple-game-servers.md) using LinuxGSM `./linuxgsm.sh arma3server`. This will become the headless client instance and rename the new instance to `arma3server-hc`.
Edit the config file `lgsm/config-lgsm/arma3server-hc.cfg`.
@ -32,24 +32,24 @@ Change the `port=` increasing the number by a factor of 12 e.g 2303 becomes 2314
Update `startparameters=` changing it to the following.
```text
```
startparameters="-client -connect=${ip}:${port} -password=CHANGEME"
```
Edit the game server config of `arma3server` \(not the headless client\) `arma3server.server.cfg` and add the headless client IP address to `headlessClients[]=`. If the headless client is on the same physical server as the ARMA 3 server then also add the IP to `localClient[]=`.
Edit the game server config of `arma3server` (not the headless client) `arma3server.server.cfg` and add the headless client IP address to `headlessClients[]=`. If the headless client is on the same physical server as the ARMA 3 server then also add the IP to `localClient[]=`.
{% hint style="warning" %}
Do not use 127.0.0.1 as the IP address.
{% endhint %}
```text
```
headlessClients[]={"1.2.3.4"};
localClient[]={"1.2.3.4"};
```
Navigate to your profile directory.
```text
```
~cd ~/.local/share/Arma\ 3\ -\ Other\ Profiles
```
@ -61,8 +61,6 @@ Start your headless client with `./arma3server-hc start`.
Only an admin can see the headless clients in the player menu on the server. The headless client will connect and automatically assume the first available headless client slot.
{% file src="../.gitbook/assets/a3\_hc\_tutorial.pdf" caption="In depth guide to headless clients" %}
## Mod Support
Arma 3 mods are managed using the [Steam Workshop](https://steamcommunity.com/app/346110/workshop/) or manual downloads.
@ -83,7 +81,7 @@ Download the Mod using [https://steamworkshopdownloader.io/](https://steamworksh
Create a directory called `@cba_a3` in `serverfiles/mods`
```text
```
serverfiles/mods/@cba_a3
```
@ -95,19 +93,19 @@ Remember to check you have the correct user permissions once uploaded
Copy the contents of the `@cba_a3/keys` directory to the server keys directory.
```text
```
cp serverfiles/mods/@cba_a3/keys/* serverfiles/keys
```
Add @cba\_a3 to the `mods=""` setting in the [LinuxGSM config](../configuration/linuxgsm-config.md).
```text
```
mods="mods/@cba_a3"
```
If you are adding multiple mods make sure you put a semicolon with the escape character in between each mod.
```text
```
mods="mods/@mod1\;mods/@mod2"
```
@ -139,10 +137,10 @@ do
done
```
Start the server and check that your mods all have valid hashes.
Start the server and check that your mods all have valid hashes.\
You should see the "Community Base Addons" mod appear in your `console` [log](../features/logging.md)file.
```text
```
15:27:37 ============================================================================================= List of mods ===============================================================================================
15:27:37 modsReadOnly = true
15:27:37 safeModsActivated = false
@ -167,4 +165,3 @@ You should see the "Community Base Addons" mod appear in your `console` [log](..
15:27:37 Arma 3 | A3 | true | true | NOT FOUND | | |
15:27:37 ==========================================================================================================================================================================================================
```

View File

@ -8,7 +8,7 @@ TO-DO
needs to be verified
{% endhint %}
\(NOTE: This method is detailed further [here](https://linux-audit.com/linux-system-hardening-adding-hidepid-to-proc/). The web page also describes how to give certain users the default full access to listing all processes.\)
(NOTE: This method is detailed further [here](https://linux-audit.com/linux-system-hardening-adding-hidepid-to-proc/). The web page also describes how to give certain users the default full access to listing all processes.)
By default, a user can see all started processes from other users, which is bad, but also their start parameters, which is pretty dangerous. Those start parameters can contain sensitive information, such as RCON password, Steam API keys and GSLT upon start, a Rust dedicated server is checking if the process name started by any user, and will prevent you from running it again if it finds it, displaying "Player is already running".
@ -26,5 +26,4 @@ nano /etc/fstab
proc /proc proc defaults,hidepid=2 0 0
```
You still need to make one user per server, change ports, and repeat the install process. \(See [this](../features/multiple-game-servers.md) for more info\)
You still need to make one user per server, change ports, and repeat the install process. (See [this](../configuration/multiple-game-servers.md) for more info)

View File

@ -38,7 +38,7 @@ Note: (example) `./gameserver details` will provide you with relevant informatio
* Is the server properly installed? See the "Game server downloads" part
* Are all packages installed properly? See "Dependencies" part
* Is your Linux installation compatible? 32/64bit, distribution... Check command: `uname -a`
* Are ports already used by another service? See [Ports](networking/ports.md) and [Multiple-Game-Servers](features/multiple-game-servers.md)
* Are ports already used by another service? See [Ports](networking/ports.md) and [Multiple-Game-Servers](configuration/multiple-game-servers.md)
* Is this a known tmux issue? See [Tmux](requirements/tmux.md)
* Did you try to start with the `debug` command? See [debug](commands/debug.md)
* What does the logs say? See \[[Logging](features/logging.md)