pelican-eggs / eggs

Service eggs for the pterodactyl panel
MIT License
2.82k stars 2.32k forks source link

[Egg Request]: Squad Proton or Wine Egg #2882

Open lbzepoqo opened 5 months ago

lbzepoqo commented 5 months ago

Does this expand an already existing service

Yes

Link to a game or software

joinsquad.com

Links for the download

https://store.steampowered.com/app/393380/Squad/

Links for the install docs

https://squad.fandom.com/wiki/Server_Installation

lbzepoqo commented 5 months ago

Please know that an existing egg for Squad already exists although outdated: https://github.com/parkervcp/eggs/tree/master/game_eggs/steamcmd_servers/squad

Info not found in wiki

- You need to have ICMPv4 open in your firewall (This is a "ping") for latency to report correctly in the server browser. The test for this is to try to ping the IP for your server.
- You need to be punching through NAT. If you don't it won't work due to the above. Particularly a thing for home-hosters.
- `-beaconport=` is the flag you need to have set in your commandline. You may place this anywhere, but recommend being towards the end of the commandline next to `-log` - without the flag, it will default to having a "silent" `-beaconport=15000`, and it is a UDP listen port. **If you only have one server, this will be fine.** If you have more than one server, you will need to give each a unique beacon port. Recommend 5 port spaces to be safe ie. Server1 has -beaconport=15000, Server2 has -beaconport=15005, etc etc
- The `-beaconport=` flag is mobile - you can change your beaconport to wherever you wish, though it would be recommended to stay in the 15000-15050 range as that's what has been tested.
- Your Game Port (commandline argument `PORT=`) whichever it is, must be exposed and contactable. You cannot have this locked down, and a firewall rule must be in place to allow traffic to pass.
- You must have DNS throughput to the box. Otherwise it can't resolve EOS things.
- You must allow the beacon port through the firewall - your server may show up, but it will not be joinable unless you do.

**So, new requirements for your firewall:**
Game Port - UDP only - set via `Port=` flag in the command line
Steam Query Port - UDP only- set via `QueryPort=` flag in the command line
Beacon Port - UDP only- set via `-beaconport=` flag in the command line
RCON Port - TCP only - set via `RCONPORT=` flag in the command line
ICMPv4 allowed - in Windows this is done via cmd.exe easily - `netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow` in Linux, this is `iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT`

**New requirements for your commandline**
Add `-beaconport=15000` to your commandline - if you have more than 1 server, increase this number (no two beacon ports on the same port binding)
lbzepoqo commented 5 months ago

Would love to have workshop mods support too if possible ❤️

https://squad.fandom.com/wiki/Uploading_a_mod_to_a_dedicated_server

gOOvER commented 5 months ago

why with Proton, when there is a native Linux Server?

ImKringle commented 5 months ago

^^ Any specific reason? Is it a compatibility issue or

Adding proton to the mix is just another point of issues, if it isnt needed its pretty rare anyone here makes one lol

gOOvER commented 5 months ago

I bet, this is Not possible, AS Long Proton Tricks dont run correct

lbzepoqo commented 5 months ago

why with Proton, when there is a native Linux Server?

Mod compatibility since not all of them are compatible with Linux or won't be cooked for Linux at all due to exponential growth of file size if cooked for Linux.

lbzepoqo commented 5 months ago

I bet, this is Not possible, AS Long Proton Tricks dont run correct

May I ask what do you mean by this?

gOOvER commented 5 months ago

why with Proton, when there is a native Linux Server?

Mod compatibility since not all of them are compatible with Linux or won't be cooked for Linux at all due to exponential growth of file size if cooked for Linux.

then you need wine. it will Not work with proton.

and not all mods running with wine

lbzepoqo commented 5 months ago

why with Proton, when there is a native Linux Server?

Mod compatibility since not all of them are compatible with Linux or won't be cooked for Linux at all due to exponential growth of file size if cooked for Linux.

then you need wine. it will Not work with proton.

and not all mods running with wine

Oh. Should I be requesting a wine egg instead like this game_eggs/steamcmd_servers/mordhau/egg-mordhau-wine.json ?

lbzepoqo commented 5 months ago

why with Proton, when there is a native Linux Server?

Mod compatibility since not all of them are compatible with Linux or won't be cooked for Linux at all due to exponential growth of file size if cooked for Linux.

then you need wine. it will Not work with proton.

and not all mods running with wine

The mod we intend to use is compatible with wine I think. I just thought wine eggs does not exist and proton eggs are the alternatives for it.

lbzepoqo commented 5 months ago

Should I rename this issue to wine instead or do I have to create a new one and close this one?

gOOvER commented 5 months ago

I don't think you have to do that. But I don't think someone will be found so quickly to do the egg just because of a plugin.

You'll just have to wait, pay someone to make one or make one yourself

Cartitarul commented 5 months ago

Hi @sergelouie6, I can help you with some information regarding the the questions you have.

  1. Regarding the Wiki information From what I know that information is not published in the Wiki because its a Community Managed Wiki, OWI doesn't go out of there way to just update the wiki themselves after every update. Its a community responsibility to do so. To get the accurate and best information its better to go on the OWI Hosting Discord. I am gonna try and update the data with the mentions you made this week.

  2. Regarding the Workshop Mods and the beacons and new server requirements Last month I made a egg commit that fixed every detail you mentioned above even the beacon parameter. I view it like a fix planning to polish it in the future. And also I added the possibility to install Mods on the server same on a beta(working) level planning to fix and polish everything this week.

  3. Proton Support Regarding Proton Support as a lot of members said above its kind of weird and some mods even if they run on windows behave strange on wine and Proton and from my opinion I do not recommend that. My self I host 2 servers called [RO#1] and [RO#2] on Squad with a lot of mods and I didn't experience any critical bugs or problems using a Linux server. It can cause bugs but harmless and most mods work on Linux.

lbzepoqo commented 5 months ago

Hi @sergelouie6, I can help you with some information regarding the the questions you have.

  1. Regarding the Wiki information From what I know that information is not published in the Wiki because its a Community Managed Wiki, OWI doesn't go out of there way to just update the wiki themselves after every update. Its a community responsibility to do so. To get the accurate and best information its better to go on the OWI Hosting Discord. I am gonna try and update the data with the mentions you made this week.
  2. Regarding the Workshop Mods and the beacons and new server requirements Last month I made a egg commit that fixed every detail you mentioned above even the beacon parameter. I view it like a fix planning to polish it in the future. And also I added the possibility to install Mods on the server same on a beta(working) level planning to fix and polish everything this week.
  3. Proton Support Regarding Proton Support as a lot of members said above its kind of weird and some mods even if there run on windows behave strange and from my opinion I do not recommend that. My self I host 2 servers called [RO#1] and [RO#2] on Squad with a lot of mods and I didn't experience any critical bugs or problems using a Linux server. I can cause bugs but most mods work on Linux.

Hi @Cartitarul, thank you for your response.

  1. May I know how updating the mods work with the commit you made?
  2. For proton support, I will be dropping my request for this and would change this to for a wine egg instead that has console support. The mods that we specifically wanted to use only supports Windows. We also had the same issue a year ago that we even opted to install Windows on our dedicated server just to be able to play the mod (Dynamic Direction) which was requested by the community but was not sustainable for us especially with control compared to Pterodactyl's features and it didn't take off that well due to other factors and since most communities run on Linux. This will be a good addition also if a wine egg is available since modders won't have to cook for Linux which bloats the mod's file size. As far as I remember, the devs of a specific mod before said that if they cook the mod for Linux it will make it x10+ in size from its original size of just 1GB.
Cartitarul commented 5 months ago

At the moment the mods update after every reinstall as the reinstall dose not delete any configuration files and you don't lose any data. Basically the script downloads everything in the folder steamapps/workshop/content/393380/ and moves it in the Plugins/Mods/ folder. There is a bug that the server mods are not moved automatically in the Mods folder and I am trying to fix it this week with a complete polish. Regarding the wine server I understand the issue. But I think the wine servers on Docker containers behave strange regarding network configuration, I do not know details but I think that the IP or pots set in the game server with wine don't go hand in hand with the docker. I have to research.

ImKringle commented 5 months ago

Hi @sergelouie6, I can help you with some information regarding the the questions you have.

  1. Regarding the Wiki information From what I know that information is not published in the Wiki because its a Community Managed Wiki, OWI doesn't go out of there way to just update the wiki themselves after every update. Its a community responsibility to do so. To get the accurate and best information its better to go on the OWI Hosting Discord. I am gonna try and update the data with the mentions you made this week.
  2. Regarding the Workshop Mods and the beacons and new server requirements Last month I made a egg commit that fixed every detail you mentioned above even the beacon parameter. I view it like a fix planning to polish it in the future. And also I added the possibility to install Mods on the server same on a beta(working) level planning to fix and polish everything this week.
  3. Proton Support Regarding Proton Support as a lot of members said above its kind of weird and some mods even if there run on windows behave strange and from my opinion I do not recommend that. My self I host 2 servers called [RO#1] and [RO#2] on Squad with a lot of mods and I didn't experience any critical bugs or problems using a Linux server. I can cause bugs but most mods work on Linux.

Hi @Cartitarul, thank you for your response.

  1. May I know how updating the mods work with the commit you made?
  2. For proton support, I will be dropping my request for this and would change this to for a wine egg instead that has console support. The mods that we specifically wanted to use only supports Windows. We also had the same issue a year ago that we even opted to install Windows on our dedicated server just to be able to play the mod (Dynamic Direction) which was requested by the community but was not sustainable for us especially with control compared to Pterodactyl's features and it didn't take off that well due to other factors and since most communities run on Linux. This will be a good addition also if a wine egg is available since modders won't have to cook for Linux which bloats the mod's file size. As far as I remember, the devs of a specific mod before said that if they cook the mod for Linux it will make it x10+ in size from its original size of just 1GB.

Wine is just another emulation layer like Proton is; on Conan for example mods dont behave right on Wine but work right on Proton. Proton doesnt work on Palworld and neither does wine, but on SOTF both Wine and Proton work fine. It all differs by game in most cases

lbzepoqo commented 5 months ago

Hi @sergelouie6, I can help you with some information regarding the the questions you have.

  1. Regarding the Wiki information From what I know that information is not published in the Wiki because its a Community Managed Wiki, OWI doesn't go out of there way to just update the wiki themselves after every update. Its a community responsibility to do so. To get the accurate and best information its better to go on the OWI Hosting Discord. I am gonna try and update the data with the mentions you made this week.
  2. Regarding the Workshop Mods and the beacons and new server requirements Last month I made a egg commit that fixed every detail you mentioned above even the beacon parameter. I view it like a fix planning to polish it in the future. And also I added the possibility to install Mods on the server same on a beta(working) level planning to fix and polish everything this week.
  3. Proton Support Regarding Proton Support as a lot of members said above its kind of weird and some mods even if there run on windows behave strange and from my opinion I do not recommend that. My self I host 2 servers called [RO#1] and [RO#2] on Squad with a lot of mods and I didn't experience any critical bugs or problems using a Linux server. I can cause bugs but most mods work on Linux.

Hi @Cartitarul, thank you for your response.

  1. May I know how updating the mods work with the commit you made?
  2. For proton support, I will be dropping my request for this and would change this to for a wine egg instead that has console support. The mods that we specifically wanted to use only supports Windows. We also had the same issue a year ago that we even opted to install Windows on our dedicated server just to be able to play the mod (Dynamic Direction) which was requested by the community but was not sustainable for us especially with control compared to Pterodactyl's features and it didn't take off that well due to other factors and since most communities run on Linux. This will be a good addition also if a wine egg is available since modders won't have to cook for Linux which bloats the mod's file size. As far as I remember, the devs of a specific mod before said that if they cook the mod for Linux it will make it x10+ in size from its original size of just 1GB.

Wine is just another emulation layer like Proton is; on Conan for example mods dont behave right on Wine but work right on Proton. Proton doesnt work on Palworld and neither does wine, but on SOTF both Wine and Proton work fine. It all differs by game in most cases

May I ask why proton does not work with Palworld but there's an egg for it? #2757

ImKringle commented 5 months ago

Hi @sergelouie6, I can help you with some information regarding the the questions you have.

  1. Regarding the Wiki information

    From what I know that information is not published in the Wiki because its a Community Managed Wiki, OWI doesn't go out of there way to just update the wiki themselves after every update. Its a community responsibility to do so. To get the accurate and best information its better to go on the OWI Hosting Discord. I am gonna try and update the data with the mentions you made this week.

  2. Regarding the Workshop Mods and the beacons and new server requirements

    Last month I made a egg commit that fixed every detail you mentioned above even the beacon parameter. I view it like a fix planning to polish it in the future. And also I added the possibility to install Mods on the server same on a beta(working) level planning to fix and polish everything this week.

  3. Proton Support

    Regarding Proton Support as a lot of members said above its kind of weird and some mods even if there run on windows behave strange and from my opinion I do not recommend that. My self I host 2 servers called [RO#1] and [RO#2] on Squad with a lot of mods and I didn't experience any critical bugs or problems using a Linux server. I can cause bugs but most mods work on Linux.

Hi @Cartitarul, thank you for your response.

  1. May I know how updating the mods work with the commit you made?

  2. For proton support, I will be dropping my request for this and would change this to for a wine egg instead that has console support. The mods that we specifically wanted to use only supports Windows. We also had the same issue a year ago that we even opted to install Windows on our dedicated server just to be able to play the mod (Dynamic Direction) which was requested by the community but was not sustainable for us especially with control compared to Pterodactyl's features and it didn't take off that well due to other factors and since most communities run on Linux. This will be a good addition also if a wine egg is available since modders won't have to cook for Linux which bloats the mod's file size. As far as I remember, the devs of a specific mod before said that if they cook the mod for Linux it will make it x10+ in size from its original size of just 1GB.

Wine is just another emulation layer like Proton is; on Conan for example mods dont behave right on Wine but work right on Proton. Proton doesnt work on Palworld and neither does wine, but on SOTF both Wine and Proton work fine. It all differs by game in most cases

May I ask why proton does not work with Palworld but there's an egg for it? #2757

It broke after the latest update, just hasn't been removed. Odds are it'll fix itself when PocketPair gets their shiz together

gOOvER commented 5 months ago

@sergelouie6 proton is Wine ;) And Wine have also no consoleoutput.

lbzepoqo commented 5 months ago

@sergelouie6 proton is Wine ;) And Wine have also no consoleoutput.

ohh, using wineconsole does not have console output?

gOOvER commented 5 months ago

@sergelouie6 proton is Wine ;) And Wine have also no consoleoutput.

ohh, using wineconsole does not have console output?

No. wineconsole is only for cli based programs and have nothing to do with consoleoutput.

The problem here is ptero and how ptero read the console. I know other panels where it work fine

lbzepoqo commented 5 months ago

@sergelouie6 proton is Wine ;) And Wine have also no consoleoutput.

ohh, using wineconsole does not have console output?

No. wineconsole is only for cli based programs and have nothing to do with consoleoutput.

The problem here is ptero and how ptero read the console. I know other panels where it work fine

oh got it, I think the console output is not that important now that I think of it.

Is this considered as a cli based program? image

I've read in https://www.winehq.org/docs/wine that wineconsole is for Windows console program. Is this the same?

I'm still talking to someone working on a wine egg for squad and just confirmed that it worked using wineconsole but I had difficulties in understanding his method image image

I'm still waiting for the egg 🔽 image

image

The other issue is related to https://github.com/parkervcp/eggs/issues/2882#issuecomment-2047323374 about mods not moving to plugins folder

Cartitarul commented 5 months ago

Nice, I'ved done some progress to on the wine squad egg. Let's work together on this contact me on Discord: cartitarul

@sergelouie6 proton is Wine ;) And Wine have also no consoleoutput.

ohh, using wineconsole does not have console output?

No. wineconsole is only for cli based programs and have nothing to do with consoleoutput. The problem here is ptero and how ptero read the console. I know other panels where it work fine

oh got it, I think the console output is not that important now that I think of it.

Is this considered as a cli based program? image

I've read in https://www.winehq.org/docs/wine that wineconsole is for Windows console program. Is this the same?

I'm still talking to someone working on a wine egg for squad and just confirmed that it worked using wineconsole but I had difficulties in understanding his method image image

I'm still waiting for the egg 🔽 image

image

The other issue is related to #2882 (comment) about mods not moving to plugins folder

Nice, I'ved done some progress to on the wine squad egg. Let's work together on this contact me on Discord: cartitarul

fakhry7050 commented 5 months ago

Hi @sergelouie6, I can help you with some information regarding the the questions you have.

  1. Regarding the Wiki information From what I know that information is not published in the Wiki because its a Community Managed Wiki, OWI doesn't go out of there way to just update the wiki themselves after every update. Its a community responsibility to do so. To get the accurate and best information its better to go on the OWI Hosting Discord. I am gonna try and update the data with the mentions you made this week.
  2. Regarding the Workshop Mods and the beacons and new server requirements Last month I made a egg commit that fixed every detail you mentioned above even the beacon parameter. I view it like a fix planning to polish it in the future. And also I added the possibility to install Mods on the server same on a beta(working) level planning to fix and polish everything this week.
  3. Proton Support Regarding Proton Support as a lot of members said above its kind of weird and some mods even if there run on windows behave strange and from my opinion I do not recommend that. My self I host 2 servers called [RO#1] and [RO#2] on Squad with a lot of mods and I didn't experience any critical bugs or problems using a Linux server. I can cause bugs but most mods work on Linux.

Hi @Cartitarul, thank you for your response.

  1. May I know how updating the mods work with the commit you made?
  2. For proton support, I will be dropping my request for this and would change this to for a wine egg instead that has console support. The mods that we specifically wanted to use only supports Windows. We also had the same issue a year ago that we even opted to install Windows on our dedicated server just to be able to play the mod (Dynamic Direction) which was requested by the community but was not sustainable for us especially with control compared to Pterodactyl's features and it didn't take off that well due to other factors and since most communities run on Linux. This will be a good addition also if a wine egg is available since modders won't have to cook for Linux which bloats the mod's file size. As far as I remember, the devs of a specific mod before said that if they cook the mod for Linux it will make it x10+ in size from its original size of just 1GB.

Wine is just another emulation layer like Proton is; on Conan for example mods dont behave right on Wine but work right on Proton. Proton doesnt work on Palworld and neither does wine, but on SOTF both Wine and Proton work fine. It all differs by game in most cases

yow bro all think goood and egg work correctly only we have issues in console logs

fakhry7050 commented 5 months ago

the new updated egg work and support mods : https://github.com/fakhry7050/Squad-egg-pterodactyl

ImKringle commented 5 months ago

the new updated egg work and support mods : https://github.com/fakhry7050/Squad-egg-pterodactyl

Can't be PR'd here as is; cannot use sh files to handle startup. User editable startup commands are taboo

echo "Creating start.sh script in the server directory..."
cat << 'EOF' > /mnt/server/start.sh
#!/bin/bash
# Startup command to run the Squad game server and tail logs.

# Ensure the server executable variable is replaced correctly
SERVER_EXEC="/home/container/SquadGame/Binaries/Win64/${SERVER_EXECUTABLE}"
LOG_PATH="/home/container/SquadGame/Saved/Logs/SquadGame.log"

# Output startup details
echo "Starting the Squad game server..."
echo "Executable: $SERVER_EXEC"
echo "Logs will be tailed from: $LOG_PATH"

# Start the Squad server in the background
wine "$SERVER_EXEC" Port=${SERVER_PORT} QueryPort=${QUERY_PORT} beaconport=${BEACON_PORT} FIXEDMAXTICKRATE=${FIXEDMAXTICKRATE} -log &

# Tail the log file
tail -f "$LOG_PATH"
EOF
ImKringle commented 5 months ago

Check how fixing log output is handled for the NoLoveLost egg

clear the log that generates, then tail it to the console. Doable in a single line just fine, the SH file can't be used

lbzepoqo commented 5 months ago

2887

fakhry7050 commented 5 months ago

Check how fixing log output is handled for the NoLoveLost egg

clear the log that generates, then tail it to the console. Doable in a single line just fine, the SH file can't be used

yow i understand and i check it sorry but wine doesnt support also logs method of proton not the same in wine because wine doesnt support multiwindow

ImKringle commented 5 months ago

Check how fixing log output is handled for the NoLoveLost egg clear the log that generates, then tail it to the console. Doable in a single line just fine, the SH file can't be used

yow i understand and i check it sorry but wine doesnt support also logs method of proton not the same in wine because wine doesnt support multiwindow

Then use proton, you can't use an SH file 🤷🏼

ImKringle commented 5 months ago

Check how fixing log output is handled for the NoLoveLost egg clear the log that generates, then tail it to the console. Doable in a single line just fine, the SH file can't be used

yow i understand and i check it sorry but wine doesnt support also logs method of proton not the same in wine because wine doesnt support multiwindow

Just tested it myself, Wine works fine tailing the log through the startup command so long as you use the Binaries exe and not the base one (Which is pretty standard for proton/wine)

rm /home/container/SquadGame/Saved/Logs/SquadGame.log; wine /home/container/SquadGame/Binaries/Win64/SquadGameServer.exe Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} beaconport={{BEACON_PORT}} FIXEDMAXTICKRATE={{MAX_TICK}} -log & SQD_PID=$!; tail -c0 -F /home/container/SquadGame/Saved/Logs/SquadGame.log --pid=$SQD_PID
fakhry7050 commented 5 months ago

Check how fixing log output is handled for the NoLoveLost egg clear the log that generates, then tail it to the console. Doable in a single line just fine, the SH file can't be used

yow i understand and i check it sorry but wine doesnt support also logs method of proton not the same in wine because wine doesnt support multiwindow

Just tested it myself, Wine works fine tailing the log through the startup command so long as you use the Binaries exe and not the base one (Which is pretty standard for proton/wine)

rm /home/container/SquadGame/Saved/Logs/SquadGame.log; wine /home/container/SquadGame/Binaries/Win64/SquadGameServer.exe Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} beaconport={{BEACON_PORT}} FIXEDMAXTICKRATE={{MAX_TICK}} -log & SQD_PID=$!; tail -c0 -F /home/container/SquadGame/Saved/Logs/SquadGame.log --pid=$SQD_PID

yow thanks for your help and fixed

ImKringle commented 5 months ago

Check how fixing log output is handled for the NoLoveLost egg clear the log that generates, then tail it to the console. Doable in a single line just fine, the SH file can't be used

yow i understand and i check it sorry but wine doesnt support also logs method of proton not the same in wine because wine doesnt support multiwindow

Just tested it myself, Wine works fine tailing the log through the startup command so long as you use the Binaries exe and not the base one (Which is pretty standard for proton/wine)

rm /home/container/SquadGame/Saved/Logs/SquadGame.log; wine /home/container/SquadGame/Binaries/Win64/SquadGameServer.exe Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} beaconport={{BEACON_PORT}} FIXEDMAXTICKRATE={{MAX_TICK}} -log & SQD_PID=$!; tail -c0 -F /home/container/SquadGame/Saved/Logs/SquadGame.log --pid=$SQD_PID

yow thanks for your help and fixed

More than that needed edited - you copy/pasting mine doesnt work, I don't use your variables. Actually edit your egg to match whats required; keep it in the PR :)