diff --git a/game_eggs/veloren/README.md b/game_eggs/veloren/README.md index df3bdcd6..668a38c4 100644 --- a/game_eggs/veloren/README.md +++ b/game_eggs/veloren/README.md @@ -8,6 +8,12 @@ Veloren is fully open-source, licensed under GPL 3. It uses original graphics, m ## Server Ports +**Due to there new config file you have to set the game port manual in the config file!!** + +`/home/container/userdata/server/server_config/settings.ron` +- Line 4: `address: "[::]:14004",` -> ` address: "[::]:",` +- Line 7: `address: "0.0.0.0:14004",`-> `address: "0.0.0.0:",` + Ports required to run the server in a table format. | Port | default | diff --git a/game_eggs/veloren/egg-veloren.json b/game_eggs/veloren/egg-veloren.json index d4bda0d7..ea69264a 100644 --- a/game_eggs/veloren/egg-veloren.json +++ b/game_eggs/veloren/egg-veloren.json @@ -1,31 +1,62 @@ { "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "meta": { - "version": "PTDL_v1", + "version": "PTDL_v2", "update_url": null }, - "exported_at": "2021-07-02T04:27:30+03:00", + "exported_at": "2022-10-24T19:25:32+02:00", "name": "Veloren", "author": "parker@parkervcp.com", "description": "Veloren is a multiplayer voxel RPG written in Rust. It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft.", "features": null, - "images": [ - "quay.io\/parkervcp\/pterodactyl-images:base_debian" - ], + "docker_images": { + "Debian": "ghcr.io\/parkervcp\/yolks:debian" + }, "file_denylist": [], "startup": ".\/veloren-server-cli", "config": { - "files": "{\r\n \"userdata\/server\/server_config\/settings.ron\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \" gameserver_address\": \" gameserver_address: \\\"0.0.0.0:{{server.build.default.port}}\\\",\",\r\n\t \" server_name\": \" server_name: \\\"{{server.build.env.SERVER_NAME}}\\\",\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"userdata\/server\/server_config\/settings.ron\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \" metrics_address\": \" metrics_address: \\\"0.0.0.0:{{server.build.env.METRICS_PORT}}\\\",\",\r\n \" server_name\": \" server_name: \\\"{{server.build.env.SERVER_NAME}}\\\",\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Server is ready to accept connections\"\r\n}", "logs": "{}", "stop": "shutdown graceful 10" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl git-lfs\r\n\r\nmkdir -p \/mnt\/server\/assets\r\n\r\ncd \/tmp.\r\n\r\ngit clone https:\/\/gitlab.com\/veloren\/veloren.git\r\n\r\n## build veloran server cli\r\nexport VELOREN_USERDATA_STRATEGY=executable\r\ncd veloren\r\necho -e \"building veloran server, this is gonna take a bit\" \r\ncargo build --bin veloren-server-cli --release\r\n\r\ncp -f target\/release\/veloren-server-cli \/mnt\/server\/\r\ncp -Rf assets\/{common,server,world} \/mnt\/server\/assets\/\r\n\r\n## get config from repo because there is no better way to get it.\r\nmkdir -p \/mnt\/server\/userdata\/server\/server_config\/\r\nif [ ! -f \/mnt\/server\/userdata\/server\/server_config\/settings.ron ]; then\r\n echo -e \"getting default config from git repo\"\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/veloren\/settings.ron > \/mnt\/server\/userdata\/server\/server_config\/settings.ron\r\n echo -e \"config pulled\"\r\nfi\r\n\r\necho -e \"install complete\"", - "container": "rust:slim-buster", + "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl wget unzip git jq\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"x86_64\" || echo \"aarch64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"weekly\" ]; then\r\n echo -e \"weekly\"\r\n DOWNLOAD_URL=https:\/\/download.veloren.net\/latest\/linux\/${ARCH}\/weekly\r\nelif [ \"${VERSION}\" == \"nightly\" ]; then\r\n echo -e \"nightly\"\r\n DOWNLOAD_URL=https:\/\/download.veloren.net\/latest\/linux\/${ARCH}\/nightly\r\nelse\r\n echo -e \"something went wrong\"\r\nfi\r\n\r\necho -e \"download url: ${DOWNLOAD_URL}\"\r\nwget ${DOWNLOAD_URL} -O files.zip\r\n\r\nunzip -o files.zip\r\nrm files.zip\r\n\r\nchmod +x veloren-server-cli\r\n\r\n## generate config because there is no better way to get it.\r\nmkdir -p \/mnt\/server\/userdata\/server\/server_config\/\r\nif [ ! -f \/mnt\/server\/userdata\/server\/server_config\/settings.ron ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/veloren\/settings.ron -O \/tmp\/settings.ron\r\n sed \"s\/14004\/${SERVER_PORT}\/g\" \/tmp\/settings.ron > \/mnt\/server\/userdata\/server\/server_config\/settings.ron\r\n rm \/tmp\/settings.ron\r\n echo \"config file pulled\"\r\nfi\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "debian:bullseye-slim", "entrypoint": "bash" } }, - "variables": [] + "variables": [ + { + "name": "Version", + "description": "weekly = download the latest weekly build.\r\nnightly = download the latest nightly build.", + "env_variable": "VERSION", + "default_value": "weekly", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:weekly,nightly", + "field_type": "text" + }, + { + "name": "Server name", + "description": "The name your server will be displaying", + "env_variable": "SERVER_NAME", + "default_value": "A pterodactyl hosted server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" + }, + { + "name": "Metrics port", + "description": "Game port +1", + "env_variable": "METRICS_PORT", + "default_value": "14005", + "user_viewable": true, + "user_editable": false, + "rules": "required|integer", + "field_type": "text" + } + ] } diff --git a/game_eggs/veloren/settings.ron b/game_eggs/veloren/settings.ron index 7d59fda2..bdff2966 100644 --- a/game_eggs/veloren/settings.ron +++ b/game_eggs/veloren/settings.ron @@ -1,20 +1,36 @@ -( - gameserver_address: "0.0.0.0:14004", - metrics_address: "0.0.0.0:14005", - auth_server_address: Some("https://auth.veloren.net"), - max_players: 100, - world_seed: 25269, - server_name: "Veloren Alpha", - start_time: 32400, - map_file: None, - max_view_distance: Some(65), - banned_words_files: [], - max_player_group_size: 6, - client_timeout: ( - secs: 40, - nanos: 0, - ), - spawn_town: None, - safe_spawn: true, - max_player_for_kill_broadcast: None, +( + gameserver_protocols: [ + Tcp( + address: "[::]:14004", + ), + Tcp( + address: "0.0.0.0:14004", + ), + ], + metrics_address: "127.0.0.1:14005", + auth_server_address: Some("https://auth.veloren.net"), + max_players: 100, + world_seed: 230, + server_name: "Veloren Server", + start_time: 32400.0, + map_file: None, + max_view_distance: Some(65), + max_player_group_size: 6, + client_timeout: ( + secs: 40, + nanos: 0, + ), + spawn_town: None, + max_player_for_kill_broadcast: None, + calendar_mode: Auto, + gameplay: ( + battle_mode: Global(PvP), + safe_spawn: false, + explosion_burn_marks: true, + ), + moderation: ( + banned_words_files: [], + automod: false, + admins_exempt: true, + ), ) \ No newline at end of file