diff --git a/steamcmd_servers/arma/README.md b/steamcmd_servers/arma/README.md index affb973f..5598764f 100644 --- a/steamcmd_servers/arma/README.md +++ b/steamcmd_servers/arma/README.md @@ -4,4 +4,3 @@ ARMA is a series of first-person tactical military shooters, originally released ## Arma 3 * [Arma 3](arma3) -* [Arma 3 Headless Client](arma3_headless_client) diff --git a/steamcmd_servers/arma/arma3/README.md b/steamcmd_servers/arma/arma3/README.md index 13487aee..968ee770 100644 --- a/steamcmd_servers/arma/arma3/README.md +++ b/steamcmd_servers/arma/arma3/README.md @@ -1,16 +1,23 @@ -# Arma 3 (32 or 64-bit) +# Arma 3 ### From their [Site](https://arma3.com/) Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war. +### Egg Capabilities +- Configurable to run 32 or 64-bit versions of the server. +- Configurable to run Beta/Performance binaries of the server (if desired; advanced users only). +- Able to download server updates. +- Able to download Steam Workshop mods\* and move `.bikey`'s to the `/keys/` directory (\*see Installation Requirements). +- Configurable to run up to 5 Headless Clients in parallel with the main server (may require additional performance overhead). + ### Installation Requirements -- A valid, real Steam account, with Steam Guard turned off, is required to install the server (default "anonymous" login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3. -- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. This is, of course, optional functionality, and mods can be manually uploaded to the server if desired. +- A valid, real Steam account, with **Steam Guard turned off**, is required to install the server (default "anonymous" login cannot be used). For security reasons it is [recommended](https://developer.valvesoftware.com/wiki/SteamCMD#With_a_Steam_account) that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3. +- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. This is, of course, optional functionality, and mods can be manually uploaded to the server if desired. Hosts may feel free to delete the "Steam Workshop Mods to Download/Update" variable if they would not like to offer it's functionallity. ### Minimum RAM Warning -This server requires about 2048 MB to run properly. +This server requires about 2048 MB of RAM to run properly. If used, every Headless Client uses an additional 2048 MB of RAM as well. ### CPU Usage Information -ARMA 3 is mainly CPU intensive. Contrary to popular belief, the server binary *can* run on multiple cores/threads. However, it's ability to manage asynchronous tasks and hyperthread is *very* limited, meaning additional cores/threads reach diminishing returns very quickly. In addition, it's ability to utilize all of the CPU alloted to it for AI processing seems to be limited as well. Therefore, a [headless client](https://community.bistudio.com/wiki/Arma_3_Headless_Client) ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used. An Arma 3 Headless Client Egg can be found [here](arma3_headless_client). +ARMA 3 is mainly CPU intensive. Contrary to popular belief, the server binary *can* run on multiple cores/threads. However, it's ability to manage asynchronous tasks and hyperthread is *very* limited, meaning additional cores/threads reach diminishing returns very quickly. In addition, it's ability to utilize all of the CPU alloted to it for AI processing seems to be limited as well. Therefore, a Headless Client ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used. ### Additional Settings Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters). @@ -19,11 +26,11 @@ These can help you fine tune how the server will behave during runtime. *Note: The `-maxMem=` flag is currently known to cause an unknown segmentaion fault crash on startup. Other hardware related flags may cause similar behavior.* ### Server Ports -Default server ports. It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports seperate from each other. +Default server ports. **All ports are required.** Ports after the Main port are relative to the main port (For example: The BattlEye port is always 4 ports higher than the main port). It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports seperate from each other. | Port | Default | |---------|---------| -| Arma 3 Game & VON | 2302 | +| **Arma 3 Game & VON (Main)** | 2302 | | Steam Query (+1) | 2303 | | Steam Port (+2) | 2304 | | BattleEye (+4) | 2306 | diff --git a/steamcmd_servers/arma/arma3/egg-arma3.json b/steamcmd_servers/arma/arma3/egg-arma3.json index 308acb5f..43013c5b 100644 --- a/steamcmd_servers/arma/arma3/egg-arma3.json +++ b/steamcmd_servers/arma/arma3/egg-arma3.json @@ -4,7 +4,7 @@ "version": "PTDL_v1", "update_url": null }, - "exported_at": "2021-01-26T21:50:23+00:00", + "exported_at": "2021-01-30T22:22:39+00:00", "name": "Arma 3", "author": "rehlmgaming@gmail.com", "description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.", @@ -12,7 +12,7 @@ "images": [ "quay.io\/parkervcp\/pterodactyl-images:game_arma3" ], - "startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/battleye -cfg=\"{{BASIC}}\" -config=\"{{CONFIG}}\" {{STARTUP_PARAMS}} -mod=\"{{MODS}}\" -serverMod=\"{{SERVERMODS}}\"", + "startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/battleye -cfg=\\\"{{BASIC}}\\\" -config=\\\"{{CONFIG}}\\\" -mod=\\\"{{MODIFICATIONS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" {{STARTUP_PARAMS}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Host identity created.\",\r\n \"userInteraction\": []\r\n}", @@ -34,7 +34,7 @@ "default_value": "233780", "user_viewable": false, "user_editable": false, - "rules": "required|numeric" + "rules": "required|integer" }, { "name": "Steam Username", @@ -61,13 +61,13 @@ "default_value": "arma3server_x64", "user_viewable": true, "user_editable": true, - "rules": "required|string" + "rules": "required|string|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64" }, { "name": "Extra Startup Parameters", "description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info.", "env_variable": "STARTUP_PARAMS", - "default_value": "", + "default_value": "-noLogs", "user_viewable": true, "user_editable": true, "rules": "string|nullable" @@ -93,7 +93,7 @@ { "name": "Mods", "description": "Mod folders to be used with the -mods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)", - "env_variable": "MODS", + "env_variable": "MODIFICATIONS", "default_value": "", "user_viewable": true, "user_editable": true, @@ -108,18 +108,9 @@ "user_editable": true, "rules": "nullable|string" }, - { - "name": "Extra Flags for SteamCMD", - "description": "Only used when checking for server updates, and typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3", - "env_variable": "STEAMCMD_EXTRA_FLAGS", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string" - }, { "name": "Check for Server Updates", - "description": "Check for server updates on server start.\r\n1 True | 0 False", + "description": "Check for server updates on server start. (1 True | 0 False)", "env_variable": "UPDATE_SERVER", "default_value": "0", "user_viewable": true, @@ -128,7 +119,7 @@ }, { "name": "Steam Workshop Mods to Download\/Update", - "description": "[*Only works if the host owns Arma 3] Comma separated list of Steam Workshop mod IDs to download\/update on server start. (ex. 450814997,463939057) Each mod will be downloaded to the root directory with the folder format: @ModIdNumber", + "description": "[*Only works if the host owns Arma 3] Comma separated list of Steam Workshop mod IDs to download\/update on server start. (ex. 450814997,463939057) Each mod will be downloaded to the root directory with the folder format \"@ModIdNumber\". NOTE: Particularly large mods (ie. RHS, CUP, typically anything over 3 GB) may not download properly due to limitations of SteamCMD.", "env_variable": "UPDATE_WORKSHOP", "default_value": "", "user_viewable": true, @@ -143,6 +134,33 @@ "user_viewable": true, "user_editable": true, "rules": "boolean" + }, + { + "name": "[Advanced] Extra Flags for SteamCMD", + "description": "Only used when checking for server updates, and typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3", + "env_variable": "STEAMCMD_EXTRA_FLAGS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + }, + { + "name": "[Advanced] Headless Clients (HC)", + "description": "Number of Headless Clients (0 - 5) to launch parallel with the server. Be sure to set the following \"HC Connect Password\" variable if your server is password locked. PLEASE NOTE: Using a headless client is only recommended for advanced users, adds extra overhead to your permitted server resources, and is only beneficial if a properly written, HC compliant mission file is provided. See https:\/\/community.bistudio.com\/wiki\/Arma_3:_Headless_Client for more info.", + "env_variable": "HC_NUM", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|integer|between:0,5" + }, + { + "name": "[Advanced] HC Connect Password", + "description": "If Headless Clients are used, this is the password used to connect to the server if the server is password locked.", + "env_variable": "HC_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" } ] } diff --git a/steamcmd_servers/arma/arma3_headless_client/README.md b/steamcmd_servers/arma/arma3_headless_client/README.md deleted file mode 100644 index a77ff1af..00000000 --- a/steamcmd_servers/arma/arma3_headless_client/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# Arma 3 Headless Client -### From their [Site](https://community.bistudio.com/wiki/Arma_3_Headless_Client) -What is a Headless Client (HC) used for? -* Headless Client is used to offload AI calculations from the server [to improve the main server's performance]. -* Headless Client is integrated into dedicated server executable, and uses the `-client` parameter to activate. -* The server doesn't allow arbitrary connections from headless clients if you do not define the headless clients' IPs in the `server.cfg`. - -### But why? -If you host an Arma 3 Server with lots of AI in it, the Server FPS will drop fast. The headless client helps alleviate the AI's stress on the server. - -### Installation Requirements -- A valid, real Steam account, with Steam Guard turned off, is required to install the client (default "anonymous" login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3. -- The Arma 3 server this client is connecting to **must** be running a properly written mission file that accepts and utilizes headless clients. If you want to know how to implement, take a look at the Wiki [here](https://community.bistudio.com/wiki/Arma_3_Headless_Client#Spawning_the_AI) or at a guide in the A3 Forums [here](https://forums.bohemia.net/forums/topic/178434-arma3-headless-client-guide/). -- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. This is, of course, optional functionality, and mods can be manually uploaded to the client if desired. - -### Minimum RAM Warning -This client requires about 2048 MB to run properly. - -### Additional Settings -Additional client flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters). -These can help you fine tune how the client will behave during runtime. - -*Note: The `-maxMem=` flag is currently known to cause an unknown segmentaion fault crash on startup. Other hardware related flags may cause similar behavior.* - -### Server Ports -Since this is basically a client, this Egg does not need a port. -Therefore, the port assigned to this Egg goes unused. diff --git a/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json b/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json deleted file mode 100644 index 60f20365..00000000 --- a/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1", - "update_url": null - }, - "exported_at": "2021-01-26T21:54:10+00:00", - "name": "Arma 3 Headless Client", - "author": "rehlmgaming@gmail.com", - "description": "Headless Clients are used to offload AI calculations from the Arma 3 Server.", - "features": null, - "images": [ - "quay.io\/parkervcp\/pterodactyl-images:game_arma3" - ], - "startup": ".\/{{SERVER_BINARY}} -client -connect={{CONNECT_IP}} -port={{CONNECT_PORT}} -password=\"{{CONNECT_PASSWORD}}\" -profiles=.\/serverprofile -bepath=.\/battleye {{STARTUP_PARAMS}} -mod=\"{{MODS}}\"", - "config": { - "files": "{}", - "startup": "{\r\n \"done\": \"Client connected\",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", - "stop": "^C" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"", - "container": "debian:buster-slim", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "Arma 3 Dedicated Server App ID", - "description": "Used for installation and updates.", - "env_variable": "STEAMCMD_APPID", - "default_value": "233780", - "user_viewable": false, - "user_editable": false, - "rules": "required|numeric" - }, - { - "name": "Steam Username", - "description": "Used for installation and updates. Account does not need to own Arma 3, but must be a valid Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*", - "env_variable": "STEAM_USER", - "default_value": "your_steam_username", - "user_viewable": false, - "user_editable": false, - "rules": "required|string" - }, - { - "name": "Steam Password", - "description": "Used for installation and updates. Steam Guard must be TURNED OFF for install to complete successfully. *This info is not visible to the server owner.*", - "env_variable": "STEAM_PASS", - "default_value": "your_steam_password", - "user_viewable": false, - "user_editable": false, - "rules": "required|string" - }, - { - "name": "Server Binary", - "description": "Server binary to call on server start. (32-bit: arma3server | 64-bit: arma3server_x64)", - "env_variable": "SERVER_BINARY", - "default_value": "arma3server_x64", - "user_viewable": true, - "user_editable": true, - "rules": "required|string" - }, - { - "name": "Connect IP", - "description": "IP address of the server to connect to.", - "env_variable": "CONNECT_IP", - "default_value": "127.0.0.1", - "user_viewable": true, - "user_editable": true, - "rules": "required|ip" - }, - { - "name": "Connect Port", - "description": "Open port of the server to connect to.", - "env_variable": "CONNECT_PORT", - "default_value": "2302", - "user_viewable": true, - "user_editable": true, - "rules": "required|numeric" - }, - { - "name": "Connect Password", - "description": "If the server you are connecting to has a password, enter it here.", - "env_variable": "CONNECT_PASSWORD", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string" - }, - { - "name": "Mods", - "description": "Mod folders to be used with the -mods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)", - "env_variable": "MODS", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string" - }, - { - "name": "Extra Startup Parameters", - "description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info.", - "env_variable": "STARTUP_PARAMS", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string" - }, - { - "name": "Extra Flags for SteamCMD", - "description": "Only used when checking for server updates, and typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3", - "env_variable": "STEAMCMD_EXTRA_FLAGS", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string" - }, - { - "name": "Check for Server Updates", - "description": "Check for server updates on server start.\r\n1 True | 0 False", - "env_variable": "UPDATE_SERVER", - "default_value": "0", - "user_viewable": true, - "user_editable": true, - "rules": "boolean" - }, - { - "name": "Steam Workshop Mods to Download\/Update", - "description": "[*Only works if the host owns Arma 3] Comma separated list of Steam Workshop mod IDs to download\\\/update on server start. (ex. 450814997,463939057) Each mod will be downloaded to the root directory with the folder format: @ModIdNumber", - "env_variable": "UPDATE_WORKSHOP", - "default_value": "", - "user_viewable": true, - "user_editable": true, - "rules": "nullable|string" - }, - { - "name": "Set Mods to Lowercase", - "description": "On server start, goes through all the mod folders listed in \"Mods\" & \"Server Mods\", and makes sure every folder and file is lowercase (to prevent errors). This is particularly useful to run ONCE after copying a mod from a Windows machine to the server, or if mods seem to not be loading.", - "env_variable": "MODS_LOWERCASE", - "default_value": "0", - "user_viewable": true, - "user_editable": true, - "rules": "boolean" - } - ] -} diff --git a/steamcmd_servers/dont_starve/README.md b/steamcmd_servers/dont_starve/README.md index 37c701d3..7d8d6e36 100644 --- a/steamcmd_servers/dont_starve/README.md +++ b/steamcmd_servers/dont_starve/README.md @@ -11,7 +11,7 @@ Minimum required memory to run the server is around 512mb for a single user.. ### Server Ports -Don't Starve Together only requires a single port to run. The default is 7777 +Don't Starve Together only requires a single port to run. The default is 10999 | Port | default | |---------|---------| diff --git a/steamcmd_servers/holdfast/README.md b/steamcmd_servers/holdfast/README.md index d97a4082..73b47c7e 100644 --- a/steamcmd_servers/holdfast/README.md +++ b/steamcmd_servers/holdfast/README.md @@ -16,4 +16,8 @@ Fight on multiple fronts in Holdfast: Nations At War - A competitive multiplayer > If you want a new nest you need to create it before importing the egg. 6. Restart the daemon on your node before creating a server using the new egg(s). +server_port 20100 +steam_communications_port 8700 +steam_query_port 27000 + # You must restart your daemon after importing an egg