From 4f179d7542b6860bccd05487bfb58a2da1d7d861 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sun, 11 Dec 2022 10:34:54 +0100 Subject: [PATCH] add ETS2 --- .../euro-truck-simulator2/README.md | 93 ++++++++++++++++ ...uro-truck-simulator2-dedicated-server.json | 104 ++++++++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/README.md create mode 100644 game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json 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 new file mode 100644 index 00000000..96598f6c --- /dev/null +++ b/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/README.md @@ -0,0 +1,93 @@ +# ETS2 Ptero - A Egg For Setting Up ETS2 Dedicated Server + + +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 | +| Query | 27016 | + +--**Make sure during server setup that the autostart server box is unchecked**-- + +# Setup +You must generate the required server config files necessary to run the server in game on ETS2. To do so you **MUST** have console enabled. +at +# Enabling Console +To enable your console you must change 2 values in the clients config.cfg file. With the game off simply change the following: +- g_developer "0" -----> g_developer "1" +- g_console "0" -----> g_console "1" + +Once those have been changed save and close the file and start up ETS2. + +# Generating Config Files +Once you have enabled your console and started ETS2, go ahead and log in to game and set up the convoy how you would normally set it up. This includes, any mods that you may have. Also, dont worry about setting up the name, password, description, etc, as the server_config.sii generated will ignore these settings. + +Once you have your convoy set up in game, press the ~ key and a console will open on the bottom center of your screen. If a console does not open, close ETS2 and go back up to **Enabling Console** section and go through those steps again. + +With the console open type ```export_server_packages``` and press enter. The game will then tell you that the export was successful. + +Navigate to the folder that contains your clients config.cfg file that you changed in the **Enabling Console** section and look for the following: + +- server_packages.sii +- server_packages.dat + + +# Copy to Server + +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. + +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: + +``` +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 +} + +} + +``` +To add moderators to your server instance you have to also add them to this file. An example seen below: + +``` +moderator_list: 3 +moderator_list[0]: "Steam64 ID Here" +moderator_list[1]: "Steam64 ID Here" +moderator_list[2]: "Steam64 ID Here", +^^^ Can be found by googling Steam ID Lookup +``` + +# Enjoy your server +Once those files have been uploaded and configured you are free to start up your server. When the sever is started look for the line: Session search id: 00000000000000000/101 The number before the / is your search term. This is number to search for in the convoy screen to find your server. You can **NOT** search by the server name at this time. Example: if your number before the / is 987654321 then you would search for 987654321 on your convoy screen in game. + + +# Disclaimer +I do not claim to know everything about this setup as I just got it reliably working myself and will update the egg if anything changes. That being said, if you have problems open up an issue and I will do my best to help if when I have the time. + 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 new file mode 100644 index 00000000..2f48571d --- /dev/null +++ b/game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/egg-euro-truck-simulator2-dedicated-server.json @@ -0,0 +1,104 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2022-12-11T10:30:09+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.", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source" + }, + "file_denylist": [], + "startup": ".\/bin\/linux_x64\/eurotrucks2_server", + "config": { + "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 \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Auto update", + "description": "", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "App ID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "1948160", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:1948160", + "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": "", + "env_variable": "QUERY_PORT", + "default_value": "27016", + "user_viewable": true, + "user_editable": false, + "rules": "required|string|between:27015,27020", + "field_type": "text" + }, + { + "name": "Steam Auth token", + "description": "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