Jump to content
 Share

Roy

Pterodactyl - My Custom Stuff

Recommended Posts

Posted  Edited 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 by Skittlez

Share this post


Link to post

  • 2 weeks later...
Posted  Edited 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 :P
https://forums.pterodactyl.io

 

Best regards,

schrej

Edited by schrej

Share this post


Link to post

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 :P
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


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

  • 1 month later...

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


  • 2 weeks later...
Posted  Edited 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 by Mimimimi

Share this post


Link to post

  • 3 months later...
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


  • 4 months later...
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

  • 1 month later...
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.

 

  1. 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
  2. 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.
  3. 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>".
  4. The Auth key variable is -authkey. You can only set this in the command line with -authkey <authKey>.
  5. 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


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.

 

lt-50-07-25-2018-1316.png 

 

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


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


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




×
×
  • Create New...