CurseForge · Minecraft mod
STYGION Keystone
STYGION Keystone — one mod where a server usually runs dozens.
Quick answer
Which STYGION Keystone release should I use?
STYGION Keystone v0.1.1 · neoforge 1.21.1 targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is STYGION Keystone required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does STYGION Keystone v0.1.1 · neoforge 1.21.1 need?
v0.1.1 · neoforge 1.21.1. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add STYGION Keystone without breaking your instance.
Built for STYGION Keystone v0.1.1 · neoforge 1.21.1. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use v0.1.1 · neoforge 1.21.1. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside v0.1.1 · neoforge 1.21.1. It opens that exact file at the source.
About this project
What does STYGION Keystone add?

🗝️ STYGION Keystone
One mod where a server usually runs dozens.
Discord, ranks, tickets, votes, restarts, announcements, entity cleanup, the tab list, real skins on an offline server — and a web editor that comes inside the jar. No account with us, no cloud, no port to open.
It installs on the server. Your players join with a plain client. Everything below works that way. Install it client-side as well and chat gains colours and Discord emoji — that half is optional.
⚙️ What it does
💬 Discord, properly
Chat both ways with links you can actually click. Verification and whitelisting from a code typed in game. Roles and bans kept in step. Console output and lifecycle messages in a channel. Tickets that open a channel, keep a transcript, and hand it back when they close.
⏰ The clocks a server runs on
Restarts at fixed times, on an interval or after a delay, each with warnings before it. Announcements in rotation. Maintenance mode. Entity cleanup that protects bosses, named mobs and tamed animals rather than sweeping them up with the dropped dirt.
🏅 Ranks people earn by playing
Prefixes and suffixes that stack, shown in the tab list, promoted on a timer without anybody logging in to trigger it.
🗳️ Vote rewards
NuVotifier v1 and v2 — including votes that arrive while their player is offline, which pay out on the next join instead of being lost.
🎭 Real skins on an offline-mode server
And /skin <link> for anybody who wants their own.
🤖 An assistant
A player can ask it in game; an owner can ask it about their own server's numbers. It never changes anything on its own — what it proposes sits in a list until somebody says "do it" or "leave it". Any provider, or none: it is an address and a key you write in, and a blank setting means it never runs.
📊 What your modpack actually costs
This is the part no other mod has. /keystone test 20 places twenty test players spread across the map, measures the tick while they are there, and tells you what gave out first — the processor, the collector, chunk loading, or nothing at all. Then it profiles the tick and names the mods the time went into.
this machine held all 20 players (20.0 TPS, 47.11 ms at the 95th);
every ten players cost about 8.55 ms a tick; at 20 it was using
47.11 ms of the 50 a tick allows, leaving 2.89
Say yes when it asks, and the run joins the public figures at stygion.eu/performance — where anybody can look up what a pack costs on hardware like theirs, and which JVM flags actually keep the collector quiet. No server name, no address, nobody's name.
🖥️ The editor is in the download
Type /keystone panel in game and click the link in chat. That is the whole sign-in. The page is served by your own server, off the same jar, and works with the network cable pulled out.
Inside it:
| 🖥️ Console | Live, with a line back to the server, and the chat beside it |
| ⏱️ Every clock | Counting down, with what each one did and how long it took. Backups listed and restored here |
| 👥 Who is on | Ranks, perks, and "may this player do this", checked against the real permission engine |
| 📈 What this machine takes | A load test you start here and read here |
| 🤖 The assistant | Ask it about your server, and anything it wants to change waits for you to say "do it" or "leave it" |
| 🔑 API keys | Made and revoked, with what each one may reach |
| 🎛️ Every setting | Colours as swatches previewed the way chat will show them; ranks as rows with the name a player carries at each rung; restart times as clocks — and anything naming a mob or an item is searched out of what your server actually loaded, your whole modpack included |
Saving applies and re-reads without a restart. Nobody gets kicked, and every change is a version you can put back.
🔌 An API you can build on
Everything the mod does is reachable over a local HTTP API behind scoped keys, with an OpenAPI document the mod generates from its own routes — so it cannot be wrong about what exists. There is an event stream you can watch with three lines of EventSource, and keystone-api is published for addons with no dependencies at all: writing one costs a line in a build file and nothing on your classpath.
It binds to loopback and is authenticated from the first request. A caller with no key is told the route does not exist, exactly as a made-up path is.
📦 Installing
Drop the jar in mods/. Everything it needs travels inside it.
| Minecraft | 1.21.1 and 26.2 |
| Loader | Fabric and NeoForge — four downloads, the same mod in each |
| Java | 21 on 1.21.1, 25 on 26.2 — whatever the game itself needs |
| Side | Server. A vanilla client can join. Client-side too turns on the richer chat |
| Extra | Nothing |
Settings live in config/keystone/ as files that keep their comments. Edit them by hand, from the console, or in the editor — all three take the same road, so they cannot disagree. A file that does not parse keeps its module off and names the line rather than starting on a silent default.
Everything can be switched off, and a module that is off is never built at all: no memory, no CPU, no tables.
🔒 What it knows about your players
No IP addresses. Not logged, not stored, not sent anywhere. An address exists for as long as somebody is connecting and is turned into a one-way token under a key your server makes for itself and keeps in its own folder — so "is this the same machine as last time" is still answerable, and the address itself is not recoverable by anyone, us included.
Everything else it writes down is what a server needs to run: names, player ids, playtime, ranks, punishments, tickets. One SQLite file on your machine.
Everything that leaves the server is named here, and each one is a setting you can empty:
| Where | What | When |
|---|---|---|
| 🎮 Mojang | A player's name or id | Only on an offline-mode server, to put their real skin on them and to check a bought name is not being worn by somebody else |
| 💬 Discord | Chat, and a player's name in the avatar link | Only once you give it a bot token |
| 🎨 MineSkin | The picture somebody linked with /skin <link> — the image and nothing else |
Only when a player runs that command |
| 🤖 An assistant provider | The question, with secrets stripped first | Only once you write an address and a key in |
| 📊 stygion.eu | Five minutes of tick timings once a day, the mod list, and what the machine is — no server name, no address, no player, no id of any kind, not even a random one | On by default, because the public figures are built out of it. /keystone settings share-live false stops it; emptying send-to stops everything |
That last row is the only thing that reaches us, and there is nothing in it that could be traced back to your server. There is no update check and no call home: switch it off and a server in online mode with no bot token and no assistant key contacts nobody at all.
🚧 What this version is not
Quests, teams, claims, essentials and the in-game screens are designed and not written. They are next, and the roadmap says where each one stands rather than promising a date.
🔗 Where to ask
- 📖 Documentation — https://docs.stygion.eu
- 🗺️ Roadmap — https://roadmap.stygion.eu
- 📊 Public figures — https://stygion.eu/performance
- 💬 Discord — https://stygion.eu/discord
Built by STYGION. All rights reserved; keystone-api is published so addons can compile against it.
Project description from CurseForge.
Pick your setup
STYGION Keystone by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
2 loader buildsCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
STYGION Keystone versions and loaders
v0.1.1 · neoforge 1.21.1
keystone-neoforge-1.21.1-0.1.1+1.21.1-neoforge.jar
16 Sept 2026
v0.1.1 · neoforge 26.2
keystone-neoforge-26.2-0.1.1+26.2-neoforge.jar
16 Sept 2026
v0.1.1 · fabric 26.2
keystone-fabric-26.2-0.1.1+26.2-fabric.jar
7 Sept 2026
v0.1.1 · fabric 1.21.1
keystone-fabric-1.21.1-0.1.1+1.21.1-fabric.jar
7 Sept 2026
Looking for an older file? The official CurseForge project page is in Resources.