SkyGridX Installation Guide for Minecraft 1.21.4 (Java 21)

Follow these steps to set up your SkyGridX plugin efficiently. This guide includes two options for installation: a quick automated setup or a detailed manual setup.


Quick Setup (Lazy Install)

If you'd prefer an automated process, you can use the install.bat script. This script will:

Steps:

  1. Download the install.bat script

    View install.bat Source Code
    @echo off
    
    :: Set variables
    set plugin_url=https://www.davids-repo.dev/skygridx/assets/SkyGrid.jar
    set datapack_url=https://www.davids-repo.dev/skygridx/assets/Void-Biomes-1.21.04.zip
    set paper_fetch_url=https://www.davids-repo.dev/fetch_latest_paper_build/
    
    set plugin_folder=plugins
    set world_folder=world
    set datapack_folder=world\datapacks
    
    :: Create necessary folders
    echo Creating necessary server folders...
    mkdir %plugin_folder%
    mkdir %world_folder%
    mkdir %datapack_folder%
    
    :: Fetch the latest PaperMC download URL
    echo Fetching latest PaperMC download URL...
    for /f "tokens=*" %%a in ('curl -s %paper_fetch_url%') do set paper_url=%%a
    
    :: Check if the paper_url variable was set correctly
    if "%paper_url%"=="" (
        echo Failed to fetch PaperMC URL.
        exit /b 1
    )
    
    :: Download Paper server jar
    echo Downloading Paper server jar...
    curl -L -o server.jar %paper_url%
    
    :: Download plugin
    echo Downloading SkyGridX plugin...
    curl -L -o %plugin_folder%\SkyGrid.jar %plugin_url%
    
    :: Download datapack
    echo Downloading datapack...
    curl -L -o %datapack_folder%\Void-Biomes-1.21.04.zip %datapack_url%
    
    :: Get current date and time
    for /f "tokens=1-4 delims=/ " %%a in ('date /t') do set today=%%c-%%a-%%b
    for /f "tokens=1-2 delims=:" %%a in ('time /t') do set time=%%a:%%b
    set datetime=%today% %time%
    
    :: Create and sign the EULA
    echo Creating and signing EULA...
    (
        echo #By changing the setting below to TRUE you are indicating your agreement to our EULA ^(https://aka.ms/MinecraftEULA^).
        echo #%datetime%
        echo eula=true
    ) > eula.txt
    
    :: Create run.bat
    echo Creating run.bat...
    (
        echo @echo off
        echo java -Xms1G -Xmx4G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -XX:+UseNUMA -XX:ParallelGCThreads=6 -XX:ConcGCThreads=6 -XX:MaxGCPauseMillis=200 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar --nogui
        echo pause
    ) > run.bat
    
    :: Confirm setup completion
    echo Setup completed! Starting the server...
    echo Running server...
    
    :: Run the server
    call run.bat
    
  2. Place the script in your server directory.

  3. Run the script by double-clicking it.

  4. Use the generated run.bat to start the server in the future.

Note:

  • You can adjust the memory allocation (-Xms1G -Xmx4G) in the run.bat file to increase or decrease server memory usage based on your machine's resources.
  • If you are hosting this for yourself only, your server address will be localhost; you don't need to open any ports if it's only for you.

Manual Setup

For those who prefer more control over the installation, follow the steps below:

1. Prepare Server Launch

  1. Create a .bat file and paste the following commands to initialize the server:

    @echo off
    java -Xms1G -Xmx4G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -XX:+UseNUMA -XX:ParallelGCThreads=6 -XX:ConcGCThreads=6 -XX:MaxGCPauseMillis=200 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar NameOfJar.jar --nogui
    pause
    
  2. Adjust memory settings to suit your server. Replace NameOfJar.jar with your server's actual JAR file name.

    Create Batch File

  3. Save the .bat file and run it to initialize the server.

    Running Batch File


2. Sign the EULA

  1. After running the .bat file, locate and open the eula.txt file in the server directory.

  2. Change eula=false to eula=true and save the file.

    EULA Edit

Do not restart the server yet. Continue with the next steps.


3. Download and Set Up Plugin & Datapack

Plugin Setup

  1. Download the latest version of the SkyGridX plugin from SkyGridX.

  2. Place the downloaded .jar file into the plugins folder of your server.

    Plugin Folder
    Plugin Placement

Datapack Setup

  1. In the server directory, create a folder named world.

  2. Inside the world folder, create a folder named datapacks.

    Datapack Folder Structure

  3. Choose and download one of the following datapacks:

    • Option 1: Skyblock Void Worldgen
      • Features: Biome data, structure bounding boxes, and some structures.
      • Performance Impact: Higher server load due to additional data and features.
      • Download Link: Skyblock Void Worldgen
    • Option 2: Void-Biomes-1.21.03.zip
      • Features: Lightweight alternative with only biome data and the End dragon structure (portal and pillars).
      • Performance Impact: Lower server load.
      • Download Link: Void-Biomes-1.21.04.zip
  4. Place the downloaded datapack into the datapacks folder.

    Datapack Placement
    Final Datapack Setup

Important: Ensure the datapack is placed in the folder before starting the server to correctly generate the world.


4. Server Launch & World Generation

  1. Re-run the .bat file to start the server and generate the necessary files.

  2. Monitor the console output and wait for messages indicating the server is ready.

  3. Be patient during world generation, as it may take some time depending on your datapack choice.

    Server Console Output


5. Enjoy the SkyGrid World

  1. Connect to your server to explore your custom SkyGrid world.

  2. Verify successful setup with a console message: [INFO]: Chunks have been loaded. You can now connect!

    Server Ready Message


Additional Notes