diff --git a/README.md b/README.md index db522fd3..9382506e 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,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..c674f030 --- /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 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" + } + ] +}