From 5e4518ed0457cc698ca45fbec3881688a6d33a70 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Mon, 12 Dec 2022 12:55:02 +0100 Subject: [PATCH] add back file parser + move to config download --- .../american-truck-simulator/README.md | 44 +++------------ ...ican-truck-simulator-dedicated-server.json | 56 ++++++++++++++++++- .../euro-truck-simulator2/README.md | 38 ++----------- ...uro-truck-simulator2-dedicated-server.json | 42 ++++++++++++-- .../truck-simulator/server_config.sii | 31 ++++++++++ 5 files changed, 131 insertions(+), 80 deletions(-) create mode 100644 game_eggs/steamcmd_servers/truck-simulator/server_config.sii diff --git a/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/README.md b/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/README.md index 24d7e440..54c5795b 100644 --- a/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/README.md +++ b/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/README.md @@ -2,10 +2,11 @@ Ports below are the default ports that are associated with the ATS dedicated server. If you change them in server setup be sure to change them in the .local/shared/American Truck Simulator/server_config.sii file. (See Server_Config Directions below) -| Port | default | -|---------|---------------| -| Dedicated| 27015 | -| Query | 27016 | + +| Port | default | +|----------|---------------| +| Dedicated| 27015 | +| Query | 27016 | --**Make sure during server setup that the autostart server box is unchecked**-- @@ -38,42 +39,11 @@ With your newly set up files its time to copy them over to the Pterodactyl Panel On the panel select start server and the server will then start up and create a default server_config.sii file. Proceed to the .local/shared/American Truck Simulator/ folder. -Edit the server_config.sii using your favorite text editor and set it up as you need, making any changes to name, password etc. This is also where you would change your default ports if needed to suit your Pterodactyl settings. It should look something like this when you are finished: +Edit the server_config.sii using your favorite text editor and set it up as you need, making any changes to name, password etc. -``` -SiiNunit -{ -server_config : *randomly generated string* { - lobby_name: "American Truck Simulator Dedicated Server" - description: "" - welcome_message: "" - password: - max_players: 8 - max_vehicles_total: 100 - max_ai_vehicles_player: 50 - max_ai_vehicles_player_spawn: 50 - connection_virtual_port: 100 - query_virtual_port: 101 - connection_dedicated_port: 27015 - query_dedicated_port: 27016 - server_logon_token: "" - player_damage: true - traffic: true - hide_in_company: false - hide_colliding: true - force_speed_limiter: false - mods_optioning: false - service_no_collision: false - in_menu_ghosting: false - name_tags: true - friends_only: false - show_server: true - moderator_list: 0 -} +**Important** coppy line 3 of your uploaded `server_packages.sii` and replace line 3 of the pregenerate config located in (.local/shared/American Truck Simulator/server_config.sii) with that line. -} -``` To add moderators to your server instance you have to also add them to this file. An example seen below: ``` diff --git a/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/egg-american-truck-simulator-dedicated-server.json b/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/egg-american-truck-simulator-dedicated-server.json index 46b1a54d..44673045 100644 --- a/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/egg-american-truck-simulator-dedicated-server.json +++ b/game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/egg-american-truck-simulator-dedicated-server.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2022-12-11T15:05:31+01:00", + "exported_at": "2022-12-12T12:43:31+01:00", "name": "American Truck Simulator Dedicated Server", "author": "chase@cstmgames.com", "description": "This will set up SteamCMD and all the required files for the newly released American Truck Simulator Dedicated server. Simply placed the exported server config from your ATS instance to the .local\/share\/American Truck Simulator\/ folder and select start. Make sure that auto start is off on server creation to allow you to upload your config files.", @@ -17,14 +17,14 @@ "file_denylist": [], "startup": ".\/bin\/linux_x64\/amtrucks_server", "config": { - "files": "{}", + "files": "{\r\n \"\/.local\/share\/American Truck Simulator\/server_config.sii\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \" connection_dedicated_port:\": \" connection_dedicated_port: {{server.build.default.port}}\",\r\n \" query_dedicated_port:\": \" query_dedicated_port: {{env.QUERY_PORT}}\",\r\n \" server_logon_token:\": \" server_logon_token: \\\"{{env.STEAM_TOKEN}}\\\"\",\r\n \" lobby_name:\": \" lobby_name: \\\"{{env.LOBBY_NAME}}\\\"\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"[MP] Session running.\"\r\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} 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\r\n## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/.local\/share\/\"American Truck Simulator\"\/\r\necho -e '\\033[1mUpload your config and pack file first before starting the server!\\033[0m'\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} 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\r\n## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/.local\/share\/\"American Truck Simulator\"\/\r\necho -e '\\033[1mUpload your config and pack file first before starting the server!\\033[0m'\r\n\r\n\r\nFILE=\/mnt\/server\/.local\/share\/\"American Truck Simulator\"\/server_config.sii\r\nif [ ! -f \"$FILE\" ]; then\r\n cd \/mnt\/server\/.local\/share\/\"American Truck Simulator\"\/\r\n echo \"a config file does not yet exist making one!\"\r\n curl -sSL -o server_config.sii https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/truck-simulator\/server_config.sii\r\n echo -e '\\033[1mDont forget to change line 3 in the example config generated!\\033[0m'\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } @@ -49,6 +49,56 @@ "user_editable": false, "rules": "required|string|in:2239530", "field_type": "text" + }, + { + "name": "Steam username", + "description": "", + "env_variable": "STEAM_USER", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:32", + "field_type": "text" + }, + { + "name": "Steam password", + "description": "", + "env_variable": "STEAM_PASS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:64", + "field_type": "text" + }, + { + "name": "Query port", + "description": "By there readme of the game the query port must be between 27015-27020, but from our testing this port can be any port", + "env_variable": "QUERY_PORT", + "default_value": "27016", + "user_viewable": true, + "user_editable": false, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Steam Auth token", + "description": "If you want your session id to be saved: Acquire a logon token on https:\/\/steamcommunity.com\/dev\/managegameservers (game ownership is required).", + "env_variable": "STEAM_TOKEN", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:64", + "field_type": "text" + }, + { + "name": "Lobby name", + "description": "", + "env_variable": "LOBBY_NAME", + "default_value": "American Truck Simulator", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" } ] } \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/README.md b/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/README.md index c5a680af..a5105c5d 100644 --- a/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/README.md +++ b/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/README.md @@ -2,6 +2,7 @@ Ports below are the default ports that are associated with the ETS2 dedicated server. If you change them in server setup be sure to change them in the .local/share/Euro Truck Simulator 2/server_config.sii file. (See Server_Config Directions below) + | Port | default | |----------|---------------| | Dedicated| 27015 | @@ -36,44 +37,13 @@ Navigate to the folder that contains your clients config.cfg file that you chang With your newly set up files its time to copy them over to the Pterodactyl Panel. Simply upload them through either your preferred SCP program or the file browser in the server panel to the .local/share/Euro Truck Simulator 2/ folder. -On the panel select start server and the server will then start up and create a default server_config.sii file. Proceed to the .local/share/Euro Truck Simulator 2/folder. +On the panel select start server and the server will then start up and create a default server_config.sii file. Proceed to the .local/share/Euro Truck Simulator 2/ folder. -Edit the server_config.sii using your favorite text editor and set it up as you need, making any changes to name, password etc. This is also where you would change your default ports if needed to suit your Pterodactyl settings. It should look something like this when you are finished: +Edit the server_config.sii using your favorite text editor and set it up as you need, making any changes to name, password etc. -``` -SiiNunit -{ -server_config : *randomly generated string* { - lobby_name: "Euro Truck Simulator 2 server" - description: "" - welcome_message: "" - password: - max_players: 8 - max_vehicles_total: 100 - max_ai_vehicles_player: 50 - max_ai_vehicles_player_spawn: 50 - connection_virtual_port: 100 - query_virtual_port: 101 - connection_dedicated_port: 27015 - query_dedicated_port: 27016 - server_logon_token: "" - player_damage: true - traffic: true - hide_in_company: false - hide_colliding: true - force_speed_limiter: false - mods_optioning: false - service_no_collision: false - in_menu_ghosting: false - name_tags: true - friends_only: false - show_server: true - moderator_list: 0 -} +**Important** coppy line 3 of your uploaded `server_packages.sii` and replace line 3 of the pregenerate config located in (.local/share/Euro Truck Simulator 2/server_config.sii) with that line. -} -``` To add moderators to your server instance you have to also add them to this file. An example seen below: ``` diff --git a/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json b/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json index bfcd1027..f5695a8c 100644 --- a/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json +++ b/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2022-12-11T15:00:30+01:00", + "exported_at": "2022-12-12T12:43:40+01:00", "name": "Euro Truck Simulator 2 Dedicated server", "author": "josdekurk@gmail.com", "description": "Travel across Europe as king of the road, a trucker who delivers important cargo across impressive distances! With dozens of cities to explore, your endurance, skill and speed will all be pushed to their limits.", @@ -17,14 +17,14 @@ "file_denylist": [], "startup": ".\/bin\/linux_x64\/eurotrucks2_server", "config": { - "files": "{}", + "files": "{\r\n \"\/.local\/share\/Euro Truck Simulator 2\/server_config.sii\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \" connection_dedicated_port:\": \" connection_dedicated_port: {{server.build.default.port}}\",\r\n \" query_dedicated_port:\": \" query_dedicated_port: {{env.QUERY_PORT}}\",\r\n \" server_logon_token:\": \" server_logon_token: \\\"{{env.STEAM_TOKEN}}\\\"\",\r\n \" lobby_name:\": \" lobby_name: \\\"{{env.LOBBY_NAME}}\\\"\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"[MP] State: running\"\r\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} 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\nmkdir -p \/mnt\/server\/.local\/share\/\"Euro Truck Simulator 2\"\/\r\n\r\necho -e '\\033[1mUpload your config and pack file first before starting the server!\\033[0m'\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} 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\nmkdir -p \/mnt\/server\/.local\/share\/\"Euro Truck Simulator 2\"\/\r\n\r\necho -e '\\033[1mUpload your config and pack file first before starting the server!\\033[0m'\r\n\r\nFILE=\/mnt\/server\/.local\/share\/\"Euro Truck Simulator 2\"\/server_config.sii\r\nif [ ! -f \"$FILE\" ]; then\r\n cd \/mnt\/server\/.local\/share\/\"Euro Truck Simulator 2\"\/\r\n echo \"a config file does not yet exist making one!\"\r\n curl -sSL -o server_config.sii https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/truck-simulator\/server_config.sii\r\n echo -e '\\033[1mDont forget to change line 3 in the example config generated!\\033[0m'\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } @@ -50,6 +50,16 @@ "rules": "required|string|in:1948160", "field_type": "text" }, + { + "name": "Steam password", + "description": "", + "env_variable": "STEAM_PASS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:64", + "field_type": "text" + }, { "name": "Steam username", "description": "", @@ -61,14 +71,34 @@ "field_type": "text" }, { - "name": "Steam password", - "description": "", - "env_variable": "STEAM_PASS", + "name": "Query port", + "description": "By there readme of the game the query port must be between 27015-27020, but from our testing this port can be any port", + "env_variable": "QUERY_PORT", + "default_value": "27016", + "user_viewable": true, + "user_editable": false, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Steam Auth token", + "description": "If you want your session id to be saved: Acquire a logon token on https:\/\/steamcommunity.com\/dev\/managegameservers (game ownership is required).", + "env_variable": "STEAM_TOKEN", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string|max:64", "field_type": "text" + }, + { + "name": "Lobby name", + "description": "", + "env_variable": "LOBBY_NAME", + "default_value": "Euro Truck Simulator 2 server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" } ] } \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/truck-simulator/server_config.sii b/game_eggs/steamcmd_servers/truck-simulator/server_config.sii new file mode 100644 index 00000000..59699542 --- /dev/null +++ b/game_eggs/steamcmd_servers/truck-simulator/server_config.sii @@ -0,0 +1,31 @@ +SiiNunit +{ +server_config : { + lobby_name: "Euro Truck Simulator 2 server" + description: "" + welcome_message: "" + password: "" + max_players: 8 + max_vehicles_total: 100 + max_ai_vehicles_player: 50 + max_ai_vehicles_player_spawn: 50 + connection_virtual_port: 100 + query_virtual_port: 101 + connection_dedicated_port: 27015 + query_dedicated_port: 27016 + server_logon_token: "" + player_damage: true + traffic: true + hide_in_company: false + hide_colliding: true + force_speed_limiter: false + mods_optioning: false + service_no_collision: false + in_menu_ghosting: false + name_tags: true + friends_only: false + show_server: true + moderator_list: 0 +} + +} \ No newline at end of file