From 493585eed3dab304a2ef62c3a2b0c23de5860b94 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Tue, 2 Jun 2020 20:53:01 -0400 Subject: [PATCH] update fivem for txadmin Use txadmin instead of the old `+exec` command. --- gta/fivem/README.md | 8 +++- gta/fivem/egg-five-m.json | 15 +++++-- gta/fivem/server.cfg | 89 ++++++++++++++++++++++++--------------- 3 files changed, 75 insertions(+), 37 deletions(-) diff --git a/gta/fivem/README.md b/gta/fivem/README.md index 0662b49e..f9890e71 100644 --- a/gta/fivem/README.md +++ b/gta/fivem/README.md @@ -11,10 +11,16 @@ The `FIVEM_VERSION` variable. The `DOWNLOAD_URL` only needs to be used if they turn on ddos protection. The variable needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script. +# txAdmin +The last update to the egg changes the server to use txadmin to run. All starting and stopping of the server is now managed via txadmin. On first startup it will print a key to use to sign into the txadmin panel. + +### Your server will not go online until it's started from txadmin. + ## Server Ports Ports required to run the server in a table format. | Port | default | |---------|---------| | Game | 30110 | -| Game+1 | 30120 | \ No newline at end of file +| Game+1 | 30120 | +| txAdmin | 40120 | \ No newline at end of file diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 23401ebd..dd86df52 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-05-16T09:12:48-04:00", + "exported_at": "2020-06-02T20:14:32-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", "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 {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg", + "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 {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}}", "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}", + "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 \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\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" @@ -76,6 +76,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string" + }, + { + "name": "txAdmin Port", + "description": "The port for the txAdmin panel", + "env_variable": "TXADMIN_PORT", + "default_value": "40120", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" } ] } \ No newline at end of file diff --git a/gta/fivem/server.cfg b/gta/fivem/server.cfg index 61fe35c2..d7d61bea 100644 --- a/gta/fivem/server.cfg +++ b/gta/fivem/server.cfg @@ -1,52 +1,75 @@ -# only change these if you're using a server with multiple network interfaces +### AUTOMATICALY SET BY PTERODACTYL ### +# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only. endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120" -start mapmanager -start chat -start spawnmanager -start sessionmanager -start fivem -start hardcap -start rconlog -start scoreboard -start playernames +# Set your server's hostname +set sv_hostname "New FiveM Server with Pterodactyl" -# allow client mods such as Lamda Menu? -sv_scriptHookAllowed 1 +# Server player slot limit (must be between 1 and 32, unless using OneSync) +sv_maxclients 32 -# change this -#rcon_password yay +# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey) +# -> replace "" with the key +set steam_webApiKey "" -# a comma-separated list of tags for your server -# for example: sets tags "drifting, cars, racing" or sets tags "roleplay, military, tanks" +# License key for your server (https://keymaster.fivem.net) +set sv_licenseKey +######################################## + +# These resources will start by default. +ensure mapmanager +ensure chat +ensure spawnmanager +ensure sessionmanager +ensure fivem +ensure hardcap +ensure rconlog + +# This allows players to use scripthook-based plugins such as the legacy Lambda Menu. +# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins. +sv_scriptHookAllowed 0 + +# Uncomment this and set a password to enable RCON. Make sure to change the password - it should look like rcon_password "YOURPASSWORD" +#rcon_password "" + +# A comma-separated list of tags for your server. +# For example: +# - sets tags "drifting, cars, racing" +# Or: +# - sets tags "roleplay, military, tanks" sets tags "default" -sv_hostname "My new FXServer!" +# A valid locale identifier for your server's primary language. +# For example "en-US", "fr-CA", "nl-NL", "de-DE", "en-GB", "pt-BR" +sets locale "root-AQ" +# please DO replace root-AQ on the line ABOVE with a real language! :) -# nested configs! -#exec server_internal.cfg +# Set an optional server info and connecting banner image url. +# Size doesn't matter, any banner sized image will be fine. +#sets banner_detail "https://url.to/image.png" +#sets banner_connecting "https://url.to/image.png" -# loading a server icon (96x96 PNG file) +# Nested configs! +#exec resources.cfg + +# Loading a server icon (96x96 PNG file) #load_server_icon myLogo.png -# convars for use from script -set temp_convar "hey world!" +# convars which can be used in scripts +#set temp_convar "hey world!" -# Uncomment to DISABLE your server coming up in the server list +# Uncomment this line if you do not want your server to be listed in the server browser. +# Do not edit it if you *do* want your server listed. #sv_master1 "" -# want to only allow players authenticated with a third-party provider like Steam (don't forget, Social Club is a third party provider too!)? -#sv_authMaxVariance 1 -#sv_authMinTrust 5 - -# add system admins +# Add system admins add_ace group.admin command allow # allow all commands add_ace group.admin command.quit deny # but don't allow quit -add_principal identifier.steam:110000112345678 group.admin # add the admin to the group +add_principal identifier.fivem:1 group.admin # add the admin to the group -# remove the # to hide player endpoints in external log output -#sv_endpointprivacy true +# Hide player endpoints in external log output. +sv_endpointprivacy true -# server slots limit (must be between 1 and 32) -sv_maxclients 32 \ No newline at end of file +# enable OneSync with default configuration (required for server-side state awareness) +onesync_enabled true