From 60eed418aeb8cf7a7f7a3d4c6e8296043cc6ef24 Mon Sep 17 00:00:00 2001 From: Maximilian Welt Date: Mon, 8 Apr 2019 15:48:26 +0200 Subject: [PATCH 1/2] Add Arma 3 HC Egg --- README.md | 1 + arma/arma3_headless_client/README.md | 21 ++++ .../egg-arma3-headless-client.json | 99 +++++++++++++++++++ 3 files changed, 121 insertions(+) create mode 100644 arma/arma3_headless_client/README.md create mode 100644 arma/arma3_headless_client/egg-arma3-headless-client.json diff --git a/README.md b/README.md index 0841502c..46e82e0a 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ If you submit a PR without filling out the template I will deny it. This is for [Arma](/arma/) * [Arma 3](/arma/arma3/) +* [Arma 3 HC](/arma/arma3_headless_client/) [Conan Exiles](/conan_exiles/conan_exiles) diff --git a/arma/arma3_headless_client/README.md b/arma/arma3_headless_client/README.md new file mode 100644 index 00000000..ec3d320b --- /dev/null +++ b/arma/arma3_headless_client/README.md @@ -0,0 +1,21 @@ +# 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 +* Headless Client is integrated into game client and dedicated server executable (WIndows and Linux, use -client parameter) +* 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 pretty fast. +Since the server files are only 32 Bit you will need some kind of magical assistant to prevent slow AI. + +### Minimum RAM warning +This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though. + +### Additional settings +Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters). +This can help is you see the server using to many cores/threads on the server. +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/). + +### Server Ports +Since this is basically a client, this Egg does not need a port. \ No newline at end of file diff --git a/arma/arma3_headless_client/egg-arma3-headless-client.json b/arma/arma3_headless_client/egg-arma3-headless-client.json new file mode 100644 index 00000000..b0cb6e02 --- /dev/null +++ b/arma/arma3_headless_client/egg-arma3-headless-client.json @@ -0,0 +1,99 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-03-25T14:09:36+01:00", + "name": "Arma 3 Headless Client", + "author": "brainp4in@blueberry-hood-clan.de", + "description": "Headless Clients are used to offload AI calculations from the Arma 3 Server.", + "image": "quay.io\/parkervcp\/pterodactyl-images:game_arma3", + "startup": ".\/arma3server -client -connect={{SERVERIP}} -port={{SERVERPORT}} {{CUSTOM}} -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\n\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit\r\n\r\ncd \/mnt\/server\/\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/server.cfg\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/basic.cfg", + "container": "ubuntu:18.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game App ID", + "description": "Steam CMD App ID.", + "env_variable": "APP_ID", + "default_value": "233780", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|alpha_dash|between:1,100" + }, + { + "name": "Server IP", + "description": "IP address of the Arma 3 server that should be supported by the Headless Client.", + "env_variable": "SERVERIP", + "default_value": "127.0.0.1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:30" + }, + { + "name": "Server Port", + "description": "Port of the Arma 3 server that should be supported by the Headless Client.", + "env_variable": "SERVERPORT", + "default_value": "2302", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:5" + }, + { + "name": "Custom Command Line Option.", + "description": "Put -autoinit or related things in here :)", + "env_variable": "CUSTOM", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "string|nullable" + }, + { + "name": "Mods", + "description": "This is where you put mods that go along with the -mods startup option", + "env_variable": "MODS", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "string|nullable" + }, + { + "name": "Steam User", + "description": "A Steam username with Arma3 on the account.", + "env_variable": "STEAM_USER", + "default_value": "anonymous", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Steam Password", + "description": "Steam User Password", + "env_variable": "STEAM_PASS", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Steam Auth Code", + "description": "Steam Auth Code only when you're using Steam Auth", + "env_variable": "STEAM_AUTH", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + } + ] +} From a2dd9a9e4716c54dec6776d846d9fc993282f77f Mon Sep 17 00:00:00 2001 From: Maximilian Welt Date: Mon, 8 Apr 2019 16:01:48 +0200 Subject: [PATCH 2/2] Fix Typo --- arma/arma3_headless_client/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arma/arma3_headless_client/README.md b/arma/arma3_headless_client/README.md index ec3d320b..c674f030 100644 --- a/arma/arma3_headless_client/README.md +++ b/arma/arma3_headless_client/README.md @@ -6,7 +6,7 @@ What is a Headless Client (HC) used for? * 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 pretty fast. +If you host an Arma 3 Server with lots of AI in it, the Server FPS will drop fast. Since the server files are only 32 Bit you will need some kind of magical assistant to prevent slow AI. ### Minimum RAM warning