Rewrite the egg to support dev and stable versions, together with newer +1.16 installers.
Does not rely on their own API latest fetching, because it picks latest Github release that can include old pre-releases.
clean up the code and add more debugging steps for easier troubleshooting when someone reports issues
Easy to view diff: <https://www.diffchecker.com/3iJ9lVzH>
For 1.17 JPMS arguments, fix regex to match`^1\.(17|18|19|20|21|22|23)` or latest instead of only dot . minor versions, which is something I didn't notice in a previous PR. This should future proof it.
add support for Spigot 1.18 - 1.23 including snapshots that should future proof it
change install image and remove packages from installation since our install image contains them all
add troubleshooting steps and messages should install fail
use temurin Java images for building since adoptopenjdk is deprecated and doesn't have 17
overwrite used memory for building to 1024 if less than 1024 is used . Wings allocates minimum of 1024MB memory, however, it's not enough to build 1.17+
Updates Docker images to use yolks
Delete config parser that was leftover from tshock egg
Fixes glibc missing
Fixes missing server config file and does not overwrite it on reinstall
Fixes server shutdown
resolves#1410
Add debug messages for debugging when users complain. Do not overwrite `server.properties` if it exists.
Correctly configure PHP `extensions_dir`to fix issues with loading extensions like opcache.so. Change install image to our installer for faster installation.
The tshock egg currently uses `unzip` command in the installation script to extract the downloaded files.
If the user reinstalls the server, the extracted files already exist, and `unzip` prompts for whether to overwrite the files or not. This causes the installation script to get stuck.
This fixes the problem by adding the `-o` option to overwrite the files without prompting.
- Adds the newly discovered `-multihome` flag to fix 0.5.0.6 update's IPv6 related issue, where the IP binds to IPv6 by default, causing a crash on boot. Server will now bind to IPv4 by default. As this is a hotfix, IPv6's possible support will be investigated at a later date.
- Adds the newly discovered `?listen` flag to the `-Port` flag to explicitly declare the port. This will prevent the server from possibly auto-incrementing the port if, for whatever reason, it thinks there's another Satisfactory server present in the same container.
Egg:
- Reverted the startup command so that the game port is the primary port and QUERY_PORT is the Server Query Port. I honestly think it will be confusing either way, so it's a wash for me; but ultimately, if Ptero calls the primary port the "Game Port" in Allocation Management, it should be Satisfactory's "game" port.
- Added the capability to override the server's default max players of 4. This consists of a new variable, default config file creation during install (because the server doesn't auto-create it), and a Configuration Files replacement on boot to accommodate variable changes.
- Reverted Game Port variable to Server Query Port variable.
- Changed port rules to use the more intuitive `between` rule.
README:
- Added Zarklord as a contributor.
- Added Max Players as an Egg Capability.
- Rewrote the Server Ports section (again) to accommodate the egg change and be as clear as possible.
- Added warning about stopping the server and saves.
- Added note to Minimum RAM Requirement that large saves can also cause excessive RAM usage.
- Updated Console Commands section with newly published Wiki information.
- Updated `steamclient.so` Wiki reference link (which will probably break again soon because the Wiki is being changed almost every hour now).
Co-Authored-By: Zarklord <1622280+Zarklord@users.noreply.github.com>