Beginner-friendly template and documentation for a professional Minecraft Java 26.2 server.
- Fabric Server for Minecraft Java 26.2
- Fabric API
- Geyser-Fabric for Java/Bedrock cross-play
- Floodgate-Fabric for Bedrock authentication
- Native Fabric performance and technical mods
- Java 25 runtime
If LOADER_TYPE=none in the local settings, the first start-server.bat run asks which loader to use. The same prompt can open parameter-manager.bat so RAM, GUI/console mode, GC profile, online-mode, Java environment automation and the optional startup update check can be configured before installation.
- Fabric: recommended; the Fabric launcher is renamed to the local runtime
server/server.jar, while the vanilla engine is retained asserver/vanilla-server.jar. Jarock maintains Fabric's launcher metadata so it points to the vanilla jar rather than the launcher itself. - NeoForge: fallback; the official installer generates
run.bat, libraries anduser_jvm_args.txt, which Jarock starts without inventing a fragile wrapper jar. NeoForge therefore does not use a portableserver.jarentry point. - Forge: shown for clarity but currently unavailable because no official Minecraft 26.2 server build has been verified. It is not silently installed.
If an essential mod or modpack is not available for Fabric, use NeoForge for Minecraft 26.2:
- NeoForge Server
- Geyser-NeoForge
- Floodgate-NeoForge
- Native NeoForge mods only
- Java 25 runtime, unless the current official tooling states otherwise
Forge and NeoForge are separate loaders. For modern Minecraft 26.2, NeoForge is the practical choice; Forge mods are not automatically compatible with NeoForge.
Neither Fabric nor NeoForge automatically runs Bukkit/Spigot/Paper plugins. If the main requirement is a large collection of mature Bukkit plugins, use a plugin-first Paper/Spigot architecture instead. Hybrid projects should be considered only when an exact 26.2 build exists and has been tested separately.
- Download one of the four release editions:
jarock-cli-full,jarock-cli-lite,jarock-tui-fullorjarock-tui-lite. CLI editions use the classic command-line manager; TUI editions use the compiled Windows terminal menu forstart-server.batandparameter-manager.bat. Full editions include Java installers; Lite editions do not. The selected edition is preserved by automatic updates. Then install a supported 64-bit Java 25 runtime for Minecraft 26.2. A direct installer link is available in the guide. If you use the Eclipse Temurin installer: during setup, enable the "Set JAVA_HOME variable" option (click the red X and select "Will be installed on local hard drive"). WithoutJAVA_HOME, Jarock may not find Java. - Clone or download this repository.
- Double-click
start-server.batonce; if no loader is configured, choose Fabric, Forge or NeoForge. You can optionally openparameter-manager.batduring this flow. If you chooseExit without saving, setup is cancelled cleanly and the server is not started. - The bootstrap installs the selected loader and downloads only the matching pinned mods. The Fabric and NeoForge stacks include the verified server-side No Chat Reports build for Minecraft 26.2. Fabric also includes Essential Commands 0.41.0 with its required
ec-core1.3.0 component, InvView 1.4.21 for server-side inventory and ender-chest administration, OfflineCommands 1.0.3 for running commands on offline players (the reviewed artifact filename includes26.1-rc-3but its Modrinth metadata explicitly includes 26.2), plus Links In Chat for clickable chat URLs and/link//linkwhisper, and Welcome Message with its required Collective library for configurable join messages; clients do not need to install these server mods. Essential Commands, InvView and OfflineCommands are Fabric-only because no compatible NeoForge 26.2 builds are available; Welcome Message and Collective support Fabric and NeoForge 26.2.
- Async: experimental server-side entity-processing optimization for Fabric and NeoForge 26.2; it may cause crashes or incompatibilities, so test with a backup and remove/disable it if the server becomes unstable.
- On the first Jarock-managed startup, the configured
server/config/welcomemessage.json5.jarockreplaces Welcome Message's genericwelcomemessage.json5with the Jarock welcome text and links. Later starts preserve the operator's edits. The template is preserved byclean-server-runtime.batand updated by verified Lite-package updates. - Read the generated
server/eula.txtand, if you accept the Minecraft EULA, changeeula=falsetoeula=true. - On bootstrap, Jarock verifies and installs Better Multiplayer Sleep as a datapack in the configured world's
datapacks/folder. It never replaces the world or other datapacks; use/reloadafter a manual datapack change. - Double-click
start-server.batagain. - When the server finishes loading, Jarock prints the LAN connection addresses: Java uses the configured
server-portover TCP, and Bedrock uses the configured Geyser UDP port. This address message remains visible even whenShow ready banneris disabled; only the ASCII art is hidden. The multiplayer list uses the trackedserver/server-icon.png; the server runtime also includesserver/icon.png; new worlds receive the tracked rooticon.pngas their default world icon without replacing a custom world icon. All three tracked icons are included in every automatic CLI and TUI release ZIP. The artwork is deliberately simplified and high-contrast so the Java cup and blue Bedrock background remain recognizable in 16x16 Explorer thumbnails.clean-server-runtime.batpreservesserver/icon.pngandserver/server-icon.png; the rooticon.pngandlogo.pngare outside its cleanup scope. - Type
stopin the server console to shut it down safely. - Do not close the window immediately after typing
stop. Wait until Minecraft finishes saving and Jarock printsSAFE TO CLOSE. If that message does not appear, treat the shutdown as abnormal and inspect the logs before restarting.
Always use start-server.bat to launch this repository. It repairs Fabric's local launcher metadata before starting. Do not double-click server/server.jar: that bypasses the repair and Windows may associate it with Java 8 or Java 21, producing UnsupportedClassVersionError or a missing-game error.
Startup update modes: AUTO_UPDATE_MODE=install checks for a compatible release and installs the verified package for the installed CLI/TUI and Full/Lite edition automatically; AUTO_UPDATE_MODE=check checks for updates only and never installs; AUTO_UPDATE_MODE=never does not check for updates and does not install updates. The default is AUTO_UPDATE_MODE=install; choose check or never in parameter-manager.bat to override it.
The bootstrap calculates its root from the location of the repository, so it does not depend on a fixed drive or folder. It supports spaces, Unicode names and ordinary deeply nested paths. If the Windows path is long enough to risk the legacy 260-character limit, it checks LongPathsEnabled and requests administrator permission to enable it; the script prints whether the change succeeded. It cannot bypass folders for which Windows denies access, unavailable drives, network shares that do not support long paths, or legacy applications that are not long-path-aware. The bootstrap downloads generated runtime files into server/, which is ignored by Git. The selected loader manifest includes No Chat Reports for Minecraft 26.2; it disables chat-reporting signatures server-side, but clients may still show vanilla unsigned-chat warnings unless they also use a compatible client-side setup. Jarock does not alter enforce-secure-profile automatically. It does not open router ports, change firewall rules, configure port forwarding, or expose the server publicly. Configure those items manually only after completing TODO.md.
Fabric is the default stack and NeoForge is the fallback. Each loader receives only its own pinned mods; Forge is currently unavailable for the official 26.2 build. Fabric renames its loader launcher to the local server/server.jar, while NeoForge starts through its official run.bat. Neither loader installs or runs arbitrary Bukkit/Spigot/Paper plugins. Add a Fabric-native mod only after verifying Minecraft 26.2 compatibility and its server-side support. The bootstrap does not blindly use the first Java on PATH: it searches for a 64-bit Java 25+ runtime, reports the selected executable, saves it in the ignored local file server/java-path.txt, and reuses that exact path. If Java 25 is installed in a custom or unregistered location, put its JDK folder or bin\java.exe path in the local java-home.txt file at the repository root, or set JAROCK_JAVA_HOME. If only Java 8 or Java 21 is installed, it lists the detected candidates and points to the Windows x64 Java 25 JDK installer. Therefore an older Java 8 installation can remain on the computer without blocking Jarock. If a failure occurs, the launcher prints an actionable suggested fix; inspect server/logs/latest.log and server/crash-reports/ when the Java process exits with an error.
- Complete English Fabric installation guide
- English first-run guide
- English NeoForge fallback guide
- All installation and fallback translations (including clearly labeled English fallback summaries)
- Configure RAM, GUI, online-mode, startup update checks, manually check for updates (
U), world import/export and safe launch options (including Exit without saving) - How Jarock works — English
- How Jarock works — all translations
- Documentation and translation roadmap
- Project maintenance and contribution guidelines
TUI editions keep the terminal menu open while DedicatedPower manages the server window; the menu returns after the server operation ends. CLI editions keep the original command-line flow. The guides explain installation from zero, Java and Bedrock networking, Geyser/Floodgate authentication, the LAN addresses printed after the ready banner, the verified Better Multiplayer Sleep datapack, optimization and redstone mods, world import and export, backups, security, troubleshooting and the limitations of client-side mods. The parameter manager edits a temporary copy and commits settings only through Save and exit or Save and start; Exit without saving leaves the existing settings unchanged. Press U. Check for Jarock updates to query GitHub without starting the server; if a verified compatible package for the installed edition is available, the updater asks Download and install it now? (y/N) before changing anything. It can also set Minecraft online-mode; keep it true by default, and use false only with a trusted authentication proxy because offline mode is unsafe on a public server. World import (I) asks Remember this world for future starts? (Y/n) after a source is selected; the default is Yes. A remembered source remains saved and is used only when the configured world is later deleted, while normal restarts keep the active world unchanged. Answer n for a one-shot import. World export (E) mirrors the world to a destination folder outside server/ after every clean shutdown. See TODO.md for the work that remains before public access.
This project is released under the MIT License.
Windows console close protection: While Jarock is running, the classic Windows console shows a warning MsgBox if you click
X, telling you to typestop(or close the Minecraft GUI normally) and wait forSAFE TO CLOSE. Jarock relaunches its launchers in the classic Windows Console Host when they are started from Windows Terminal, so the close-event protection works there; other pseudo-terminals without a marker (for example Alacritty) are not auto-detected, and Windows can still force-terminate a console process after its control-handler timeout. Always usestopand wait forSAFE TO CLOSE; never force-close while the world is saving.
