Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhanced Forge Server Installation Script and Configuration #20

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Mazuna
Copy link

@Mazuna Mazuna commented Feb 8, 2025

Changes Overview

  • Completely rewrote the installation script with improved error handling and logging
  • Streamlined Java version handling and Docker image configuration
  • Added robust version validation and compatibility checks
  • Improved MSH (Minecraft Server Hibernation) configuration and setup
  • Tested with Minecraft 1.20.1 (Vanilla) and Valheisa 6 Modpack, along with their respective Forge versions
  • Additionally, this should fix issue Forge egg confusion #18

Key Improvements

Installation Script

  • Added comprehensive error handling with descriptive messages
  • Implemented proper cleanup procedures and exit traps
  • Added timestamp-based logging for better debugging
  • Enhanced version validation and compatibility checking
  • Improved handling of Forge installation for different Minecraft versions
  • Added proper validation of downloaded files and installations

Docker Configuration

  • Simplified Java version selection in Docker images
  • Removed redundant J9 variants to reduce complexity
  • Updated image tags for better version clarity

MSH Configuration

  • Added automatic MSH configuration generation with proper paths
  • Improved handling of unix_args.txt for newer Forge versions
  • Added proper symlink creation for Forge compatibility
  • Enhanced boolean handling for MSH configuration options

Variables

  • Added FORGE_VERSION variable for better version control
  • Updated variable descriptions for clarity
  • Fixed boolean handling in environment variables

## Changes Overview
- Completely rewrote the installation script with improved error handling and logging
- Streamlined Java version handling and Docker image configuration
- Added robust version validation and compatibility checks
- Improved MSH (Minecraft Server Hibernation) configuration and setup

## Key Improvements

### Installation Script
- Added comprehensive error handling with descriptive messages
- Implemented proper cleanup procedures and exit traps
- Added timestamp-based logging for better debugging
- Enhanced version validation and compatibility checking
- Improved handling of Forge installation for different Minecraft versions
- Added proper validation of downloaded files and installations

### Docker Configuration
- Simplified Java version selection in docker images
- Removed redundant J9 variants to reduce complexity
- Updated image tags for better version clarity

### MSH Configuration
- Added automatic MSH configuration generation with proper paths
- Improved handling of unix_args.txt for newer Forge versions
- Added proper symlink creation for Forge compatibility
- Enhanced boolean handling for MSH configuration options

### Variables
- Added FORGE_VERSION variable for better version control
- Updated variable descriptions for clarity
- Fixed boolean handling in environment variables
@Mazuna Mazuna changed the title # Enhanced Forge Server Installation Script and Configuration Enhanced Forge Server Installation Script and Configuration Feb 8, 2025
@Mazuna Mazuna mentioned this pull request Feb 8, 2025
@BolverBlitz
Copy link
Member

Thank you for the PR to help improve the forge egg.

Copy link
Member

@BolverBlitz BolverBlitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • The FORGE_VERSION variable is required and does not accept latest like the minecraft
    version, that will make it harder for the user to create a server.
  • You swaped the java versions so java 8 is the auto selected one, but i would argue a new player is more likly to choose a resent miencraft version so a newer Java version is required wich is the reason why i´ve had them go 21 > 17 > 16 ....
  • The Forge Variable you added is not managable by the user.

Did you test the egg? I´ve imported it and it fails with the error "/mnt/install/install.sh: line 214: FORGE_SERVER_JAR: unbound variable"

@Mazuna
Copy link
Author

Mazuna commented Feb 10, 2025

Ah, I see the error now, I will fix it asap.
For testing I imported the egg, set MC version to 1.20.1 and forge version to 47.3.5.
It was pretty late when i did the PR so i'll watch over it again and test extensively before commiting again while making sure to change the default java version as you recommended. I also might've forgotten to set the FORGE_VERSION variable in the correct Ptero egg before exporting it. Mea Culpa. Thanks for the quick review tho !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants