From 3fa05227d2663f5f7e1b9978ec5b908c2f38d57b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 1 Feb 2020 08:00:48 -0500 Subject: [PATCH 1/4] add/RedM support resolved #379 --- rdr/README.md | 6 ++++ rdr/redm/README.md | 16 +++++++++ rdr/redm/egg-red-m.json | 72 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 rdr/README.md create mode 100644 rdr/redm/README.md create mode 100644 rdr/redm/egg-red-m.json diff --git a/rdr/README.md b/rdr/README.md new file mode 100644 index 00000000..abade62b --- /dev/null +++ b/rdr/README.md @@ -0,0 +1,6 @@ +# Read Dead Redemption + +## RedM + +[RedM](https://redm.gg/) +RedM, for Red Dead Redemption 2 on PC. Launching now, based on the CitizenFX framework and Cfx.re technology. \ No newline at end of file diff --git a/rdr/redm/README.md b/rdr/redm/README.md new file mode 100644 index 00000000..469e3f07 --- /dev/null +++ b/rdr/redm/README.md @@ -0,0 +1,16 @@ +# Red M + +### From the [RedM](https://redm.gg/) Site +RedM, for Red Dead Redemption 2 on PC. Launching now, based on the CitizenFX framework and Cfx.re technology. + +### Install notes +- Only installs latest version versions are not selectable. + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 30120 | +| ServerListing | 30110 | +| cfx join links | 30130 | \ No newline at end of file diff --git a/rdr/redm/egg-red-m.json b/rdr/redm/egg-red-m.json new file mode 100644 index 00000000..f61bec80 --- /dev/null +++ b/rdr/redm/egg-red-m.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-02-01T08:00:01-05:00", + "name": "RedM", + "author": "parker@parkervcp.com", + "description": "A new RedM egg for the latest builds due to recent changes in RedM", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg gamename rdr3", + "config": { + "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# CFx Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache\r\n\r\nmkdir -p \/mnt\/server\/resources \/mnt\/server\/logs\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${CFX_VERSION}\" == \"latest\" ] || [ -z ${CFX_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\necho \"install complete\"", + "container": "alpine:3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "fivem license", + "description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/", + "env_variable": "CFX_LICENSE", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Max Players", + "description": "Set the fivem max play count", + "env_variable": "MAX_PLAYERS", + "default_value": "32", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer|between:1,32" + }, + { + "name": "Server Hostname", + "description": "The name that shows up in the server browser", + "env_variable": "SERVER_HOSTNAME", + "default_value": "My new FXServer!", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "fivem version", + "description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", + "env_variable": "CFX_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:50" + }, + { + "name": "Download Link", + "description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", + "env_variable": "DOWNLOAD_URL", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "string|nullable" + } + ] +} \ No newline at end of file From 10c81977b6322f4d68fb4a7a4e9900a9edf8beff Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 1 Feb 2020 08:03:20 -0500 Subject: [PATCH 2/4] update main readme --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e3b4005c..c5fda26b 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,8 @@ If you are reading this it looks like you are looking to add an egg to your serv * [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) * [Velocity](/minecraft_proxy/velocity/) -[Tycoon Games](/tycoon_games/) -* [OpenTTD](/tycoon_games/openttd/) +[Red Dead Redemption](/rdr/) +* [RedM](/rdr/redm/) [steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install * [7 Days to Die](/steamcmd_servers/7_days_to_die/) @@ -101,6 +101,9 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Unturned](/unturned/) * [RocketMod](/unturned/rocketmod/) +[Tycoon Games](/tycoon_games/) +* [OpenTTD](/tycoon_games/openttd/) + [Unreal Engine](/unreal_engine) * [Tower Unite](/unreal_engine/tower_unite/) From e4932f9e5ba194bcf04a16be2779f06bf1c7433c Mon Sep 17 00:00:00 2001 From: KungRaseri Date: Thu, 6 Feb 2020 09:45:15 -0700 Subject: [PATCH 3/4] A few updates to the new RedM egg This should properly set the gamename to rdr3. A few changes to the variables to reflect the proper game name. --- rdr/redm/egg-red-m.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rdr/redm/egg-red-m.json b/rdr/redm/egg-red-m.json index f61bec80..63e8b28b 100644 --- a/rdr/redm/egg-red-m.json +++ b/rdr/redm/egg-red-m.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A new RedM egg for the latest builds due to recent changes in RedM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg gamename rdr3", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", @@ -24,7 +24,7 @@ }, "variables": [ { - "name": "fivem license", + "name": "CFX license", "description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/", "env_variable": "CFX_LICENSE", "default_value": "", @@ -51,8 +51,8 @@ "rules": "required|string" }, { - "name": "fivem version", - "description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", + "name": "CFX version", + "description": "The CFX Server version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", "env_variable": "CFX_VERSION", "default_value": "latest", "user_viewable": 1, @@ -61,7 +61,7 @@ }, { "name": "Download Link", - "description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", + "description": "This is the link to download redm from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", "env_variable": "DOWNLOAD_URL", "default_value": "", "user_viewable": 0, @@ -69,4 +69,4 @@ "rules": "string|nullable" } ] -} \ No newline at end of file +} From ac9b60215a38265eccf632d0b5fbee660185bd6b Mon Sep 17 00:00:00 2001 From: KungRaseri Date: Thu, 6 Feb 2020 09:58:27 -0700 Subject: [PATCH 4/4] added steam_webApiKey variable --- rdr/redm/egg-red-m.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rdr/redm/egg-red-m.json b/rdr/redm/egg-red-m.json index 63e8b28b..8e2c3f9d 100644 --- a/rdr/redm/egg-red-m.json +++ b/rdr/redm/egg-red-m.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A new RedM egg for the latest builds due to recent changes in RedM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", @@ -32,6 +32,15 @@ "user_editable": 1, "rules": "required|string" }, + { + "name": "Steam Web Api Key", + "description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/", + "env_variable": "STEAM_WEBAPIKEY", + "default_value": "none", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, { "name": "Max Players", "description": "Set the fivem max play count",