Roy 10,832 / 0 Report Post Posted July 14, 2017 Hello, I am making this thread for anybody interested in the Pterodactyl control panel. I've been working on this control panel for the past couple weeks (adding custom Docker images, services, etc) and I'm honestly very happy with it. I will be posting the stuff I've created here and other useful information I've found. Custom Docker Images I will list custom Docker image(s) I've made below. Custom "Source Engine" Image I modified Pterodactyl's default image for the Source Engine. Pterodactyl's version can be found on GitHub (here). Here is a list of what's changed: Added GDB and LSOF. Made the /tmp/dumps directory and gave it permissions (may not be needed). Set ulimit to unlimited in entrypoint.sh (did this for crash dumps). Here is the Dockerfile: # ---------------------------------- # Pterodactyl Core Dockerfile # Environment: Source Engine (GFL) # Minimum Panel Version: 0.6.0 # ---------------------------------- FROM ubuntu:16.04 MAINTAINER Pterodactyl Software, <[email protected].io> ENV DEBIAN_FRONTEND noninteractive # Install Dependencies RUN dpkg --add-architecture i386 \ && apt-get update \ && apt-get upgrade -y \ && apt-get install -y tar curl gcc g++ lib32gcc1 lib32tinfo5 lib32z1 lib32stdc++6 libtinfo5:i386 libncurses5:i386 libcurl3-gnutls:i386 gdb lsof \ && useradd -m -d /home/container container \ && mkdir -p /tmp/dumps && chmod -R 777 /tmp/ \ && chown root:root /tmp/dumps USER container ENV HOME /home/container WORKDIR /home/container COPY ./entrypoint.sh /entrypoint.sh CMD ["/bin/bash", "/entrypoint.sh"] Here is the entrypoint.sh file: #!/bin/bash sleep 5 # Set Ulimit ulimit -c unlimited echo "Set: ulimit -c unlimited" cd /home/container # Replace Startup Variables MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')` echo ":/home/container$ ${MODIFIED_STARTUP}" # Run the Server ${MODIFIED_STARTUP} if [ $? -ne 0 ]; then echo "PTDL_CONTAINER_ERR: There was an error while attempting to run the start command." exit 1 fi Make a new directory and put both files in it. Run the following command to build the Docker image: docker build -t quay.io/pterodactyl/core:gflsource . You can change core:gflsource to something else if you would like. I'd recommend keeping "quay.io/pterodactyl/" in the tag (I ran into permission errors when removing it). Custom Services I've made custom services for games and separate game engines. I will post them below. After creating a service, make sure to restart the daemon (it needs to create the service folder in /srv/daemon/src/services). service wings restart Half-Life GoldSrc I made this service to install our CS 1.6 server. Main Options Name - Half-Life GoldSrc Description - <anything you want> Folder Name - goldsrc Default Start Command - ./hlds_run -game {{HLDS_GAME}} -console +ip {{SERVER_IP}} +port {{SERVER_PORT}} +maxplayers {{HLDS_MAXPLAYERS}} +map {{HLDS_MAP}} Custom Config - Any Game This configuration will allow you to install games such as CS 1.6 or TFC. Configuration Options Option Name - Any Game Description - <anything you want> Option Tag - anygame Docker Image - quay.io/pterodactyl/core:gflsource Startup Command - <leave blank> Process Management Options Stop Command - quit Log Configuration - { "custom": true, "location": "logs/latest.log" } Configuration Files - {} Start Configuration - { "done": "VAC secure mode is activated.", "userInteraction": [] } Variables Mod Name Name - Mod Name Description - The mod name. Environment Variable - HLDS_GAME Permissions - Users Can View Default Value - cstrike Input Rules - required|string|max:20 App ID Name - App ID Description - The App ID. Environment Variable - HLDS_APPID Permissions - Users Can View Default Value - 90 Input Rules - required|numeric Mod ID Name - Mod ID Description - The Mod's App ID. You can find this from here: https://developer.valvesoftware.com/wiki/Steam_Application_IDs Environment Variable - HLDS_MODID Permissions - Users Can View Default Value - 10 Input Rules - required|numeric Maximum Players Name - Maximum Players Description - The server's maximum players. Environment Variable - HLDS_MAXPLAYERS Permissions - Users Can Edit Default Value - 32 Input Rules - required|numeric Starting Map Name - Starting Map Description - The server's starting map. Environment Variable - HLDS_MAP Permissions - Users Can Edit Default Value - de_dust2 Input Rules - required|string|max:64 * Default settings installs a CS 1.6 server running de_dust2 as the starting map and 32 maximum players. Install Script Here's the install script: #!/bin/bash # SRCDS Base Installation Script # # Server Files: /mnt/server apt -y update apt -y --no-install-recommends install curl lib32gcc1 ca-certificates cd /tmp curl -sSL -o steamcmd.tar.gz http://media.steampowered.com/installer/steamcmd_linux.tar.gz mkdir -p /mnt/server/steamcmd tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd # For CS 1.6 and other games, we need to include some manifest files in order to get SteamCMD to download it properly. mkdir -p /mnt/server/steamapps cd /mnt/server/steamapps for i in ${HLDS_MODID} 70; do curl -sSL -o appmanifest_$i.acf https://raw.githubusercontent.com/Arkshine/hlds-appmanifest/master/appmanifest_$i.acf; done # Go back to the SteamCMD directory. cd /mnt/server/steamcmd # SteamCMD fails otherwise for some reason, even running as root. # This is changed at the end of the install process anyways. chown -R root:root /mnt export HOME=/mnt/server ./steamcmd.sh +api_logging 1 1 +login anonymous +force_install_dir /mnt/server/ +app_update ${HLDS_APPID} +app_set_config ${HLDS_APPID} mod ${HLDS_GAME} +quit mkdir -p /mnt/server/.steam/sdk32 cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so Set Script Container to ubuntu:16.04 and Script Entrypoint Command to bash. Custom Source Engine This is basically the same as the Source Engine service that comes with Pterodactyl. After talking to a project leader via Discord, they recommended creating a custom service for the Source Engine to future updates to the control panel doesn't overwrite changes I've made. Main Options Name - Custom Source Engine Description - Custom Source Engine servers. Folder Name - customsrcds Default Start Command - ./srcds_run -game {{CSRCDS_GAME}} -console -debug -ip {{SERVER_IP}} -port {{SERVER_PORT}} +maxplayers {{CSRCDS_MAXPLAYERS}} -maxplayers_override {{CSRCDS_MAXPLAYERS}} -nodefaultmap -condebug Custom Config - Any Game This configuration will allow you to install any Source Engine game. Configuration Options Option Name - Any Game Description - <anything you want> Option Tag - anygame Docker Image - quay.io/pterodactyl/core:gflsource Startup Command - <leave blank> Process Management Options Stop Command - quit Log Configuration - { "custom": true, "location": "logs/latest.log" } Configuration Files - {} Start Configuration - { "done": "gameserver Steam ID", "userInteraction": [] } Variables Game/Mod Directory Name - Game/Mod Directory Description - The Source Engine game directory (e.g. cstrike). Environment Variable - CSRCDS_GAME Permissions - Users Can View Default Value - cstrike Input Rules - required|string|max:20 App ID Name - Application ID Description - The Source Engine application ID.. Environment Variable - CSRCDS_APPID Permissions - Users Can View Default Value - 232330 Input Rules - required|numeric Maximum Players Name - Maximum Players Description - The server's maximum players. Environment Variable - CSRCDS_MAXPLAYERS Permissions - Users Can Edit Default Value - 64 Input Rules - required|numeric * Default settings installs a CS:S server running at 64 maximum players. You must create an autoexec.cfg file in cstrike/cfg and put map "<anyStartingMap>" in order for the server to boot up correctly. Install Script Here's the install script: #!/bin/bash # GFL Source Engine Base Installation Script # # Server Files: /mnt/server apt -y update apt -y --no-install-recommends install curl lib32gcc1 ca-certificates cd /tmp curl -sSL -o steamcmd.tar.gz http://media.steampowered.com/installer/steamcmd_linux.tar.gz mkdir -p /mnt/server/steamcmd tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd cd /mnt/server/steamcmd # SteamCMD fails otherwise for some reason, even running as root. # This is changed at the end of the install process anyways. chown -R root:root /mnt export HOME=/mnt/server ./steamcmd.sh +login anonymous +force_install_dir /mnt/server +app_update ${CSRCDS_APPID} +quit mkdir -p /mnt/server/.steam/sdk32 cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so Set Script Container to ubuntu:16.04 and Script Entrypoint Command to bash. Call of Duty 4X This is a custom service I made for installing CoD4X. The COD_INSTALL variable needs a download link to a .tar.gz file including the base installation files for CoD4x. The folder should have the following contents: - cod4server -- main/* -- zone/* -- * Read more on preparing the CoD4x files here. Main Options Name - CoD4X Description - A CoD4x service. Folder Name - cod4x Default Start Command - ./cod4x18_dedrun +map {{COD_MAP}} +set dedicated 2 +exec {{COD_CFG}} +map_rotate +set net_ip {{SERVER_IP}} +set net_port {{SERVER_PORT}} +set sv_maxclients {{COD_MAXPLAYERS}} Custom Config - CoD4X This configuration will allow you to install the CoD4X server. Configuration Options Option Name - CoD4X Description - <anything you want> Option Tag - cod4x Docker Image - quay.io/pterodactyl/core:gflsource Startup Command - <leave blank> Process Management Options Stop Command - quit Log Configuration - { "custom": true, "location": "logs/latest.log" } Configuration Files - {} Start Configuration - { "done": "Server connected successfully", "userInteraction": [] } Variables Starting Map Name - Starting Map Description - Starting Map. Environment Variable - COD_MAP Permissions - Users Can Edit Default Value - mp_strike Input Rules - required|string|max:20 Maximum Players Name - Maximum Players Description - Server's maximum players. Environment Variable - COD_MAXPLAYERS Permissions - Users Can Edit Default Value - 32 Input Rules - required|numeric Server CFG File Name - Server CFG File Description - Server CFG file. Environment Variable - COD_CFG Permissions - Users Can Edit Default Value - mp-server.cfg Input Rules - required|string|max:20 CoD4x Server Installation File Name - CoD4x Server Installation File Description - Cod4x server installation file. Environment Variable - COD_INSTALL Permissions - Users Can View Default Value - http://<host>/cod4server.tar.gz Input Rules - required|string|max:64 * Default settings installs a CoD4x server running at 32 maximum players and on the mp_strike map. Ensure to create a mp-server.cfg file in the main/ folder with other options. Install Script Here's the install script: #!/bin/bash # GFL CoD4X Base Installation Script # # Server Files: /mnt/server apt -y update apt -y --no-install-recommends install curl wget lib32gcc1 ca-certificates # Download the CoD4X server. cd /tmp echo "Downloading server..." ionice -c3 wget -O cod4x.tar.gz ${COD_INSTALL} echo "Downloading server... Done" # Make the server home. mkdir -p /mnt/server/ # Extract the CoD4X files using ionice (to prevent the tar command from "hanging" the Linux machine). echo "Extracting files..." ionice -c3 tar -xzvf cod4x.tar.gz -C /mnt/server/ echo "Extracting files... Done" # Move the files from the cod4server directory to the main directory (I hope to find a better solution for this in the future). echo "Copying files up a directory..." ionice -c3 cp -rf /mnt/server/cod4server/* /mnt/server/ echo "Copying files up a directory... Done" # Delete the cod4server folder. echo "Deleting cod4server folder..." rm -rf /mnt/server/cod4server echo "Deleting cod4server folder... Done" # Change directory to the main server directory. cd /mnt/server/ # Set everything to root. chown -R root:root /mnt # Export HOME. export HOME=/mnt/server Set Script Container to ubuntu:16.04 and Script Entrypoint Command to bash. Fixing Core Crash Dumps (Ubuntu 16.04) I had an issue earlier this week that wouldn't allow a Source Engine server to create a core crash dump when it crashed on Ubuntu 16.04. After doing a lot of testing, I finally found a solution. The problem was, it was storing these core dumps outside of the Docker container. After reading this article, I found it working. The only thing that I did different in the article was this line (run this as the root user): echo 'core.%e.%p' | tee /proc/sys/kernel/core_pattern In order to get the Source Engine to add information about the crash into the debug.log file, you need to name the core dump file just core (instead of core.%e.%p). Instead, this works: echo 'core' | tee /proc/sys/kernel/core_pattern With that said, when the machine is restarted, these changes will be lost. This is due to Apport (Ubuntu's default crash reporting service). You can read how to solve this issue by reading here. Overall That is it! I will continue adding onto this thread as I make custom content for this control panel! If you have any questions/concerns, feel free to reply! If you find something to be inaccurate, please let me know! Thank you for reading! Share this post Link to post Share on other sites More sharing options...
Skittlez 721 / 11,269 Report Post Posted July 18, 2017 Edited July 18, 2017 by Skittlez · Hidden Hidden I'm pleased that you're getting somewhere with this panel. Also, you should create more of these updates or just PM me on Steam. I admire your work and can't wait to see more progress! Great work, Roy. Edited July 18, 2017 by Skittlez Share this post Link to post
schrej 11 / 1,566 Report Post Posted July 28, 2017 Edited July 28, 2017 by schrej · Hidden Hidden Hi, I'm one of the developers of Pterodactyl. I just wanted to let you know that we are working on importing and exporting services to make sharing them easier. We are also planning to host a hub where you can share services with others that will also be integrated into the panel. It will take us some time though as we have other priorities right now. I just had a glance at your services, they look pretty good, even though we prefer alpine images as they are much smaller. We also have our own forums and would love it if you shared your services there as well, so others can find it. I even created a category specifically for services just now (which is mainly because I noticed we didn't have one). You can just link to this forum post as well of course! I'll leave the link here, even though I'm trying to "recruit" you, feel free to remove https://forums.pterodactyl.io Best regards, schrej Edited July 28, 2017 by schrej Share this post Link to post
Roy 10,832 / 0 Report Post Posted July 29, 2017 21 hours ago, schrej said: Hi, I'm one of the developers of Pterodactyl. I just wanted to let you know that we are working on importing and exporting services to make sharing them easier. We are also planning to host a hub where you can share services with others that will also be integrated into the panel. It will take us some time though as we have other priorities right now. I just had a glance at your services, they look pretty good, even though we prefer alpine images as they are much smaller. We also have our own forums and would love it if you shared your services there as well, so others can find it. I even created a category specifically for services just now (which is mainly because I noticed we didn't have one). You can just link to this forum post as well of course! I'll leave the link here, even though I'm trying to "recruit" you, feel free to remove https://forums.pterodactyl.io Best regards, schrej Hello, thanks for the reply! I saw that the developers have great plans for the control panel which is why I'm very excited to use it! I also go by the name Roy on Pterodactyl and I've made a thread with suggestions. When I get the time, I'll post the stuff in this thread on the Pterodactyl forums and look into alpine images If you would like, you can also add me on Steam here! I have a couple more ideas for Pterodactyl and I'll make a forum post about it sometime in the near future! Thanks! Share this post Link to post Share on other sites More sharing options...
schrej 11 / 1,566 Report Post Posted July 30, 2017 · Hidden Hidden Great, thank you! Yes, I saw your thread already and we have parts of it in our GitHub issues. We are, as I said in the thread already, still rewriting lots of stuff. As we are doing a complete rewrite of our daemon "wings" we have a feature freeze on wings features at the moment. Some of the stuff that was on the lists already might get implemented anyways though. Also as I saw you are a web developer in your Steam description, feel free to open pull requests if you want to add features yourself. Maybe ask before doing so whether we want the features in the panel in our discord though. We have a repo with our docker images here (they are in the branches) if you want to have a look btw. Share this post Link to post
Roy 10,832 / 0 Report Post Posted September 5, 2017 So I decided to remake the CoD4x installation scripts. Instead of downloading a 5+ GBs file every time you want to "reinstall" (e.g. update or install) the server, it'll just copy the CoD4 base files from the Docker image (if it's an install) and download/unzip the CoD4x files from the CoD4x website. The Docker Image The CoD4 Base Files There should be a file called cod4base.tar.gz in the same folder as the Dockerfile. This archive should include the base CoD4 files. The files are listed here. Quote You also require the base game to run a server. Copy every .iwd file in cod4directory/main/ to serverdirectory/main/. Also copy everything inside cod4directory/zone to serverdirectory/zone. Archive format should be: . .. main/ zone/ I'd recommend using 7 Zip to add the contents to an archive. The first archive format should be TAR. Afterwards, add the TAR archive to a Gzip archive (file name will be cod4base.tar.gz). Dockerfile The Dockerfile should be the following: # Environment: Call of Duty 4 X (GFL) # Minimum Panel Version: 0.6.0 # ---------------------------------- FROM ubuntu:16.04 MAINTAINER Pterodactyl Software, <[email protected]> COPY ./cod4base.tar.gz /cod4base.tar.gz Build The Image You can now build the image by executing the following command (ensure you are in the same directory as the Dockerfile and cod4base.tar.gz): docker build -t cod4x . (Optional) Push The Image I found myself running into an error when using the Docker image I built above on the new Germany machine. This was the error: {"name":"wings","hostname":"game","pid":17292,"level":60,"msg":"A fatal error was encountered while attempting to create a server. { Error: (HTTP code 404) unexpected - {\"message\":\"manifest for quay.io/pterodactyl/core:gflsource not found\"}\n \n at /srv/daemon/node_modules/docker-modem/lib/modem.js:247:17\n at IncomingMessage.<anonymous> (/srv/daemon/node_modules/docker-modem/lib/modem.js:274:9)\n at emitNone (events.js:91:20)\n at IncomingMessage.emit (events.js:185:7)\n at endReadableNT (_stream_readable.js:974:12)\n at _combinedTickCallback (internal/process/next_tick.js:80:11)\n at process._tickDomainCallback (internal/process/next_tick.js:128:9) reason: undefined, statusCode: 404, json: null }","time":"2017-09-01T21:40:04.736Z","v":0} This error never occurred on the temporary OVH GS machine with the same setup. Therefore, I'd assume Docker updated? Anyways, I ended up making a Docker Hub account and pushing the image over to that. You can read how to do that here. Here are the commands I executed for the image above. docker tag cod4x gamemann/gflcod4x docker push gamemann/gflcod4x It should then push it to Docker Hub (or whatever) and the last argument will be the image name (you can check with the docker images command). In my case, the image name is gamemann/gflcod4x. @Ariistuujj also suggested that I could use Docker registry instead of Docker Hub. I haven't looked into that yet but I will in the future (it would be local). The Service Installation Scripts Finally, here's the CoD4x installation script on the control panel. Install Script #!/bin/bash # GFL CoD4X Base Installation Script (Revamped) # By Roy (Christian Deacon) # # Server Files: /mnt/server apt -y update apt -y --no-install-recommends install wget unzip # Make the server home. mkdir -p /mnt/server/ # Check if we're installing this server or updating it. if [ ! -e "/mnt/server/cod4x18_dedrun" ]; then echo "Extracting base files..." tar -xzvf /cod4base.tar.gz -C /mnt/server/ echo "Extracting base files... Done" fi # Download the latest version of CoD4x. echo "Downloading latest version of CoD4x..." wget -O /mnt/server/cod4x.zip --no-check-certificate https://cod4x.me/downloads/cod4x_server-linux.zip echo "Downloading latest version of CoD4x... Done" # Unzip the CoD4x file. echo "Extracting CoD4x files..." unzip -o -d /mnt/server/ /mnt/server/cod4x.zip echo "Extracting CoD4x files... Done" # Chmod /mnt/server/cod4x18_dedrun chmod 755 /mnt/server/cod4x18_dedrun # Set everything to root. chown -R root:root /mnt # Export HOME. export HOME=/mnt/server Set Script Container to the image you built above (in my case, it's gamemann/gflcod4x) and Script Entrypoint Command to bash. (Optional) You can delete the COD_INSTALL variable if you made the CoD4x service using the information from the first post. That's it! If you know a better way of handling this installation, please feel free to reply! I hope this helps! Thanks! Share this post Link to post Share on other sites More sharing options...
Mimimimi 1 / 1,513 Report Post Posted October 3, 2017 Edited October 3, 2017 by Mimimimi · Hidden Hidden Regarding cod4x: Why don't you just put the main and zone folders into a separate volume? Would save you lots of disc space for hosting multiple servers right? To me setting basepath and homepath is pretty useful. ./cod4x18_dedrun +map mp_killhouse +set fs_homepath . +set fs_basepath basepath +set net_port 28960 +set logfile 1 that lets you separate the "main" folder with all the iwds of the basegame from logfiles that are created. they go in a newly created folder "main" inside fs_homepath. but i have also a question for you where i am stuck at. i would like to use the cod4 servers terminal, you know in case i wanna quickly set some variables on the running server. i noticed that docker attach only gives me output, but doesnt let me send any input to the server. do you know a way around that? i initially thought i would just run tmux and the cod4 server inside it, but docker doesnt seem to like tmux and screen Edited October 3, 2017 by Mimimimi Share this post Link to post
Roy 10,832 / 0 Report Post Posted January 24, 2018 On 10/3/2017 at 2:33 PM, Mimimimi said: but i have also a question for you where i am stuck at. i would like to use the cod4 servers terminal, you know in case i wanna quickly set some variables on the running server. i noticed that docker attach only gives me output, but doesnt let me send any input to the server. do you know a way around that? i initially thought i would just run tmux and the cod4 server inside it, but docker doesnt seem to like tmux and screen @Mimimimi, I know this was a very long time ago and I apologize for the very long delay (I didn't even see this question the last time I saw this post), but I hate leaving questions unanswered. You should be able to send commands directly through the CoD 4 console using the Console tool provided with Pterodactyl. I've used the status command multiple times to retrieve IPs of hackers on our CoD 4x server. If you're trying to send CoD 4 commands through the Docker container itself, I'm not sure if that would work (I'd have to experiment further). Though, if you're using Pterodactyl, I don't see why you would need to execute commands in the Docker container instead of the Pterodactyl console. Again, I apologize for the delayed response. I hope this post answers future questions people may have. Thank you! Share this post Link to post Share on other sites More sharing options...
03Gaming 0 / 1,009 Report Post Posted May 27, 2018 · Hidden Hidden Hi there, I am wondering if you could help me a little bit. I am trying to open a Garry's Mod server on my VPS. I have installed Pterodactyl but I am a bit lost with the Garry's Mod variables. I am wondering if there is anyway you could help me by sending the: -Slots Variable and startup command -Workshop Variable and startup command -Gamemode Variable and startup command -Authkey Variable and startup command -Tickrate Variable and startup command I know this is a lot and sorry to ask, but it would help me massively since I dont know where to find any of that infomation. Share this post Link to post
Roy 10,832 / 0 Report Post Posted June 28, 2018 On 5/27/2018 at 5:20 AM, 03Gaming said: Hi there, I am wondering if you could help me a little bit. I am trying to open a Garry's Mod server on my VPS. I have installed Pterodactyl but I am a bit lost with the Garry's Mod variables. I am wondering if there is anyway you could help me by sending the: -Slots Variable and startup command -Workshop Variable and startup command -Gamemode Variable and startup command -Authkey Variable and startup command -Tickrate Variable and startup command I know this is a lot and sorry to ask, but it would help me massively since I dont know where to find any of that infomation. Hey @03Gaming, I apologize for the delay. I just noticed this was replied to. The maximum players variable would be maxplayers. You can only set this in the command line and can do so by adding +maxplayers <num> to the command line. You can also set sv_visiblemaxplayers in a config file. The server will be seen at the sv_visiblemaxplayers value but people can still connect via console if the maxplayers value is higher than sv_visiblemaxplayers. The workshop variable is host_workshop_collection. You can set this in the command line with the following +host_workshop_collection <workshop ID>. More information can be found here. The Gamemode variable is just gamemode. I personally set this in the autoexec.cfg. However, you can also set it by adding it to the command line with +gamemode "<gamemode>". The Auth key variable is -authkey. You can only set this in the command line with -authkey <authKey>. The tickrate variable is -tickrate. You can only set this in the command line with -tickrate <tickRate>. If you want me to add these as individual variables through Pterodactyl, please let me know. I can create a Nest for you, export it, and send it to you. You can also make variables yourself by going to the AdminCP -> Nests -> <choose a nest>. Click on an Egg and go to Variables. You can add variables through there and add them to the command line with {{Environment Variable Value}}. Here's an example command line I have in Pterodactyl for one of our Garry's Mod servers: ./srcds_run -game garrysmod -ip {{SERVER_IP}} -port {{SERVER_PORT}} +maxplayers {{GMOD_MAXPLAYERS}} -debug -condebug +host_workshop_collection {{GMOD_COLID}} +gamemode {{GMOD_GAMEMODE}} +r_hunkalloclightmaps 0 -tickrate {{GMOD_TICKRATE}} I hope this helps! Again, I'm very sorry about the delay. Thanks! Share this post Link to post Share on other sites More sharing options...
Hernandez 0 / 1,511 Report Post Posted July 26, 2018 · Hidden Hidden Hi @Roy, when i use your Half-Life GoldSrc image for a CS 1.6 server installation it remains permanently in "Installing" Any solution? Share this post Link to post
Roy 10,832 / 0 Report Post Posted July 26, 2018 29 minutes ago, Hernandez said: Hi @Roy, when i use your Half-Life GoldSrc image for a CS 1.6 server installation it remains permanently in "Installing" Any solution? Hi @Hernandez, I would need you to provide the server's installation log. To do this, go to the AdminCP through Pterodactyl, click on the Servers tab, and select your server. On the About tab, copy the UUID / Docker Container ID value. On the Linux machine running the Pterodactyl daemon, copy the contents of the following file to here: /srv/daemon/config/servers/<UUID/Docker Container ID>/install.log If it looks like SteamCMD successfully installed everything, you may try going to the Manage tab on the server in the AdminCP and clicking the Toggle Install Status button. I hope this helps! Please post the contents of the installation log if you can! Thanks! Share this post Link to post Share on other sites More sharing options...
Hernandez 0 / 1,511 Report Post Posted July 26, 2018 · Hidden Hidden Hi again @Roy i don't have any log file or folder in /srv/daemon/config/servers/ Share this post Link to post
Roy 10,832 / 0 Report Post Posted July 26, 2018 1 minute ago, Hernandez said: Hi again @Roy i don't have any log file or folder in /srv/daemon/config/servers/ Hey @Hernandez, Do you have anything in: /srv/daemon/logs If so, could you provide the contents of the log files here? If these logs contain sensitive information, feel free to PM me them. If you'd like, you may also add me on Discord (Roy#6777). We may be able to get it resolved sooner with live chat. Thanks! Share this post Link to post Share on other sites More sharing options...
Roy 10,832 / 0 Report Post Posted July 26, 2018 Hey @Hernandez, Per our Discord call, you were receiving this error in the wings.log file: Quote {"name":"wings","hostname":"test","pid":32750,"server":"xxxxx-xxxxx-xxxx-xxxxx","level":40,"msg":"Container was not found. Attempting to recreate it.","time":"2018-07-26T01:03:32.506Z","v":0} {"name":"wings","hostname":"test","pid":32750,"level":30,"msg":"Checking if we need to update image quay.io/pterodactyl/core:gamma, if so it will happen now.","time":"2018-07-26T01:03:32.508Z","v":0} Therefore, we ended up installing my Docker image with the Docker pull command here: docker pull gamemann/gflse After this was done, we also restarted the Wings daemon: systemctl restart wings Finally, we started the CS 1.6 installation again. The first time, there was a SteamCMD error. This error is common for CS 1.6 installations and the solution was triggering the installation again by going to the Manage tab and clicking the Reinstall Server button. Afterwards, it installed correctly and all the files were there. Unfortunately, your control panel started spitting out an error regarding the daemon's connection: There was an error attempting to establish a WebSocket connection to the Daemon. This panel will not work as expected. Error: xhr poll error I have checked your wings.log file and saw no critical errors. The Wings daemon is actively running without any issues. I am unsure what could be causing this. I would suggest checking any log files on your web server hosting the control panel. I believe the problem lies there. I would also suggest deleting the first two servers that are stuck on the "Installation" status. And any future servers created should have an allocated memory value of above 0. I believe this may cause issues otherwise. You said you are going to contact Pterodactyl's support team. Please let me know how this goes! My stomach became upset (due to my surgery recovery) so I cannot investigate anything right now. Though, once I'm feeling better, if you haven't figured out the issue, I can investigate again. I apologize for this inconvenience and I hope I helped a bit at least! Thanks! Share this post Link to post Share on other sites More sharing options...