File Details
LRM_Server.zip
- R
- Feb 20, 2026
- 250.68 MB
- 9
- 1.20.1
- Fabric
File Name
LRM_Server.zip
Supported Versions
- 1.20.1
Legends Reborn: Medieval (LRM) — Server
First Time Setup
unzip -o LRM_Server.zip
chmod +x install.sh
./install.sh install
./start.sh
The install script checks Java, installs dependencies, asks you to accept the Minecraft EULA, and lets you choose memory and performance settings. Fabric is downloaded automatically on first start.
Server Configuration
During install, you'll be asked to choose:
- Memory allocation (minimum 8G)
- JVM performance profile (safe / optimized / zgc)
- GC debug logging (on / off)
Your choices are saved in server-lrm.conf. This file is NEVER overwritten by updates — your settings are always preserved.
To change settings later:
./install.sh config
Or edit server-lrm.conf directly:
| Setting | Values | Description |
|---|---|---|
MEMORY |
8G, 12G, 24G... |
Amount of RAM for the server |
JVM_PROFILE |
safe | optimized | zgc |
Performance profile |
GC_LOGGING |
true | false |
Write GC logs to logs/gc-*.log |
The ZGC profile automatically adapts to your Java version:
- Java 21+ — Full ZGC with ZGenerational
- Java 17–20 — Compatibility mode (+UnlockExperimentalVMOptions)
Screen (Server Console)
The server runs inside a screen session called lrm.
| Command | Action |
|---|---|
./start.sh |
Start the server (auto-creates the screen) |
screen -D -r lrm |
Attach to the server console |
Ctrl+A, D |
Detach from the console (server keeps running) |
You can safely close your SSH session after starting. The server stays up.
Stop vs Reboot
| Command | Action |
|---|---|
stop |
Reboot — server restarts automatically after 5s |
/stop |
Same as stop, but from in-game (requires OP) |
Ctrl+C |
Full shutdown — server stops, screen stays open |
The screen session never closes by itself, so you can always read any errors. Press Enter to close it when you're done.
Update the Server
When a new modpack version is available on CurseForge:
- Stop the server (
Ctrl+Cin console) - Download the new server pack from CurseForge
- Extract the zip here (overwrites
latest/andinstall.sh) - Run:
./install.sh update
The script will:
- Create a backup automatically (with progress indicator)
- Compare old vs new files
- Show what changed
- Ask for confirmation
Your world, server settings, and server-lrm.conf are never touched. The latest/ folder is cleaned up automatically after a successful update.
Restore a Backup
If something goes wrong after an update:
./install.sh restore
Pick a backup from the list. The script asks if you want to restore the world too.
Check Server Status
./install.sh status
Shows version, configuration, computed JVM values, file counts, world size, Java info, backups, and disk space.
Performance Profiles
Choose your profile during install or with ./install.sh config.
| Profile | GC | Description |
|---|---|---|
| Safe | G1GC | Conservative, works everywhere (default) |
| Optimized | G1GC | Tuned for large modpacks (recommended) |
| ZGC | ZGC | Ultra low-latency, uses ~20% more RAM (experimental) |
Profiles adapt automatically to your Java version and memory setting. JVM parameters like region size, GC pause target, and heap reserves scale dynamically based on your chosen memory allocation.
Optimized Profile — Dynamic Scaling
| Heap | Region | Pause Target | IHOP | Reserve | Young Gen |
|---|---|---|---|---|---|
| 8G | 4M | 50ms | 20% | 20% | 30–40% |
| 12G | 8M | 50ms | 20% | 20% | 30–40% |
| 16G | 8M | 60ms | 25% | 15% | 35–45% |
| 24G | 16M | 80ms | 30% | 10% | 40–50% |
You don't need to understand these values — just pick your memory and profile, and the scripts handle the rest.
Run ./install.sh status to see the computed values for your config.
Debug: GC Logging
If you experience TPS drops or lag spikes, enable GC logging:
- Edit
server-lrm.conf: setGC_LOGGING=true(or run./install.sh config) - Restart the server
- Check
logs/gc-*.logfor garbage collection details
Disable when done to keep the logs/ folder clean.
Pack Structure
install.sh Server manager (install/update/restore/config/status)
start.sh Server launcher (reads server-lrm.conf)
server-lrm.conf Your server settings (RAM, profile, GC logging)
latest/ New pack files (created when you extract the zip)
├── mods/ Mod jars
├── config/ Server configuration
├── kubejs/ KubeJS scripts & data
├── start.sh Server launcher (updated version)
├── server.properties Server settings (first install only)
├── server-icon.png Server icon (first install only)
└── world/level.dat World generation settings (first install only)
After install or update, latest/ is deleted automatically. server-lrm.conf is never created inside latest/ and never overwritten.
Common Issues
| Error / Problem | Solution |
|---|---|
latest/ not found |
Extract the CurseForge zip here first |
Server is already installed |
Use ./install.sh update instead |
Server is currently running |
Ctrl+C in console to shutdown, or stop to reboot |
Java is not installed |
Ask your admin to install OpenJDK 21 |
screen is not installed |
Ask your admin to install screen |
No server-lrm.conf found |
Run ./install.sh config to create one |
| Server keeps crashing | Check logs/latest.log or run ./install.sh restore |
| GC lag / TPS drops | Try ./install.sh config → optimized or zgc profile |
| Need GC debug info | Set GC_LOGGING=true in server-lrm.conf |