How does Jarock work?
The short technical explanation of the repository, bootstrap, generated runtime, and first launch.
This is a compact website edition. See the complete document for all details and translations.
Startup flow
| Step | What happens |
|---|---|
| 1 | start-server.bat resolves its own root, so no fixed drive or folder is required. |
| 2 | PowerShell checks path length, Windows long-path policy, repository templates, and Java 25+. |
| 3 | If no loader is selected, the user chooses Fabric or NeoForge. Forge is rejected until verified. |
| 4 | The selected loader installer and matching pinned manifest are downloaded and hash-checked. |
| 5 | Fabric uses server/server.jar as its local launcher and vanilla-server.jar as the game; NeoForge uses official run.bat. |
| 6 | The EULA template is created without silently accepting it. The user must decide. |
| 7 | After a successful start and safe stop, Geyser configuration is adjusted for Floodgate authentication. |
Tracked and generated files
Repository scripts, templates, manifests, docs, and version metadata are tracked. Worlds, logs, libraries, downloaded jars, private keys, local settings, and generated loader metadata remain local and ignored by Git.
Safety boundaries
- Jarock never opens router ports or configures port forwarding.
- Jarock does not change firewall rules as part of normal setup.
- Jarock does not accept the Minecraft EULA for the user.
- Jarock does not grant operator permissions or publish the server.
- Jarock prints a suggested fix when a prerequisite or verification check fails.
After an error
Read the first ERROR: and Suggested fix:, inspect server/logs/latest.log or crash reports if Java started, then run the root launcher again. Do not delete a world before making a backup.