
Your Hytale server runs and your friends can join, but nobody can use admin commands yet, you included. If you typed /op self in chat, you probably got a tip instead of operator rights. This guide covers the admin basics in the order you need them: making yourself operator, giving other players a role, closing the server with a whitelist, kicking and banning, and switching PvP on per world.
Hypixel's Hytale Server Manual names the files involved (permissions.json, whitelist.json, bans.json) and the --allow-op launch argument, but it does not list the admin commands. Every command below comes from Hypixel's server API reference for version 0.7.4 and was checked against server 0.7.5, which Hypixel's Maven repository lists as the current release since 29 October 2026. If a command answers with a usage error after a later update, run /help in the server console: since Update 6 it prints every command with its usage.
Quick answer: To make yourself OP on a Hytale server, join it and type /op add YourName in the server console. That puts you in the hytale:Admin group, which holds every permission. In game, /op self only works when the server was started with --allow-op. Turn the whitelist on with /whitelist enable and let players in with /whitelist add <name>. /kick <name> disconnects a player, /ban <name> <reason> keeps them out until you run /unban <name>, and /world config pvp true switches PvP on in the world you are in.
How to make yourself OP on a Hytale server
Operator on Hytale means a place in the hytale:Admin group. That group holds the * permission, so its members can run every command, in the console or in chat. There are three ways in.
From the console. Join the server, then type this in the server console. On a rented server you usually find the console in the host's web panel.
/op add YourName
A name only works while that player is online. For a player who is offline, use their UUID: every player can see their own with /whoami (short: /uuid), and /whoami <name> in the console shows it for anyone online. /op remove <name or UUID> takes the rights away again. The two commands check the permissions hytale.command.op.add and hytale.command.op.remove, so out of the box only operators and the console can use them.
With /op self. In game, /op self toggles your own operator rights, but on a dedicated server it only does so when the server was started with --allow-op. Without that argument it replies with a tip that points to the UUID command, permissions.json and the launch argument. Hypixel's API reference calls the option "Intended for devs and cowboy server admins", and for a reason: /op self needs no permission, so while the argument is on, any player who joins can make themselves operator. If you use it anyway, do it before you share the server's address, run /op self once (a second run removes you again), then remove the argument and restart. The official start scripts pass extra arguments on to the server, so ./start.sh --allow-op or start.bat --allow-op is enough. In a singleplayer world, only the world's owner can use /op self, and no argument is needed.
By editing permissions.json. Stop the server, add your UUID under users with the hytale:Admin group, and start it again:
{
"users": {
"00000000-0000-0000-0000-000000000000": {
"groups": ["hytale:Admin"]
}
}
}
Replace the zeros with your UUID, and if the file already has a users block, add your entry inside it. Stop the server first: the manual says configuration files are read on startup and written when in-game actions change them, so "Manual changes while the server is running are likely to be overwritten." Older guides use the group name OP, which the server still reads as hytale:Admin.
Hytale permissions: groups and nodes
Update 5 (26 May 2026) untied permissions from game modes: "You can give friends a role based on the permissions you want them to have, instead of having to '/op' them." The server ships six built-in groups, and each one inherits everything from the group in the row above it:
| Group | Inherits from | Adds, for example |
|---|---|---|
hytale:None | (start of the chain) | No permissions |
hytale:Adventurer | hytale:None | The default for every player: /who, /whoami, teleporting to map markers |
hytale:Builder | hytale:Adventurer | Fly camera and no-clip |
hytale:WorldEditor | hytale:Builder | Builder tools, brushes, prefabs, selections, edit history, teleporting to map coordinates |
hytale:ServerEditor | hytale:WorldEditor | The Asset Editor and asset packs |
hytale:Admin | hytale:ServerEditor | *, every permission |
To give a player a role:
/setgroup Builder Alex
/perm user group add <uuid> hytale:Builder
/perm user group remove <uuid> hytale:Builder
/perm user group list <uuid>
/setgroup takes a group name such as Builder and an online player, and replaces all of that player's groups with the one you name. On an operator, that removes their operator rights. The /perm user group commands add or remove one group and keep the rest. They take a UUID instead of a name, and the full group name with hytale: in front, because they store the name exactly as you type it.
For single permissions, called nodes:
/perm user add <uuid> <node>
/perm user remove <uuid> <node>
/perm group add <group> <node>
/perm group remove <group> <node>
A moderator who may kick but should not be an operator gets /perm user add <uuid> hytale.system.command.kick. Don't guess other node names: /perm list --all --console writes every registered node to the server console. /perm list on its own shows your own groups and effective permissions, and /perm test <node> tells you whether you hold a node.
The API reference documents how the server decides:
*grants every node and-*denies every node.- A minus sign in front of a node denies it, and within one level a denial beats a grant.
- The server checks the player's own nodes first, then their groups, then the groups those inherit from, and stops at the first level that grants or denies. A node that a player holds personally therefore wins over what their group says.
If you edit permissions.json while the server runs, load it straight away with /perm reload, which reads the file again without a restart. Otherwise your edit is likely to be overwritten, as the manual warns.
How to enable the whitelist on a Hytale server
Since Update 6 (27 August 2026), the whitelist is a permission: "The whitelist now runs on the hytale.server.join permission, and the whitelist commands grant and revoke it." An existing whitelist.json was migrated at that point and renamed to whitelist.json.migrated.
/whitelist add Alex
/whitelist enable
/whitelist status
/whitelist remove Alex
/whitelist list
/whitelist disable
/whitelist clear
/whitelist enable(oron) makes the server refuse every player withouthytale.server.joinand saves"RequireJoinPermission": trueinconfig.json./whitelist disable(oroff) switches it back. Neither works in a singleplayer world.- No built-in group holds
hytale.server.join, so add your players before you switch the whitelist on. Operators always get in, becausehytale:Adminholds every permission. /whitelist addand/whitelist removetake a name or a UUID, and the player does not have to be online: the server looks the name up through Hypixel's profile service./whitelist removewarns you when the player can still join through a group or a wildcard, for example because they are an operator./whitelist listshows the UUIDs when 10 or fewer players are on it, and only the count above that. Players who can join through a group are not listed./whitelist cleartakes the personal join permission away from everyone on the list.
You can also let a whole group in, for example with /perm group add hytale:Builder hytale.server.join. Never give that node to hytale:Adventurer: every player starts in that group, so the whitelist would let everyone in.
Kick and ban players
/who
/kick Alex
/ban Alex Griefing the spawn
/unban Alex
/wholists who is online in each world, so you have the exact name. Every player can use it./kicktakes only the player, no reason. The player sees the server's own kick message on the disconnect screen, which Update 6 started showing in place of a generic error./bantakes a name or a UUID, and everything after the name becomes the reason, or "No reason." if you leave it out. A player who is online is disconnected at once. The built-in ban has no duration: it lasts until/unban. Bans are kept inbans.json, and/banand/unbandon't work in singleplayer worlds.- Since Chapter I (Update 7, 12 October 2026), "Bans and kicks now close every connection an account has open, including Asset Editor connections that previously remained connected", according to the modder-facing notes.
Plugins can take over bans: Update 6 added the BanProvider and BanStorageProvider interfaces and a BanStorage block in the server configuration.
Turn PvP on or off per world
PvP is a setting of each world, not of the whole server, and the manual's example world config has "IsPvpEnabled": false. To change it in game:
/world config pvp true
/world config pvp false
The command changes the world you are in and saves the change to that world's config. From the console, name the world: /world config pvp true --world <name>, where /world list shows the names. You can also stop the server, set "IsPvpEnabled": true in universe/worlds/<world>/config.json, and start it again.
Two Chapter I changes matter here. "In areas where PvP is disabled, player attacks will no longer knock other players backwards." And worlds you reach through Portal Devices now follow the PvP and fall damage settings chosen when the original world was created.
Back up the admin files before an update
Your admin setup lives in a few files in the server folder: permissions.json (operators, groups, personal nodes and, since Update 6, the whitelist), bans.json, config.json with RequireJoinPermission, and the config.json of each world for PvP. The built-in updater backs up config.json, permissions.json, bans.json and whitelist.json before it applies an update (BackupConfigBeforeUpdate, on by default), but keep a copy of your own. Update 8, on the pre-release patchline since 22 October, changes how permissions.json is stored, and one of its fixes reads: "The permissions migration from version 0 to version 1 no longer locks players out." Our Chapter I server guide has the full update checklist.
On our Hytale server hosting you get full access to the server files, so you can open, edit and copy all of these yourself. Still choosing where to run the server? Our Hytale hosting comparison and RAM guide cover that part.
FAQ
How do I make myself admin on my Hytale server?
Join the server and run /op add YourName in the server console. That adds you to hytale:Admin, the group with every permission. If you are not online at that moment, use your UUID, which /whoami shows you in game.
How do I add an admin to my Hytale server?
Run /op add <name> in the console while that player is online, or /op add <UUID> when they are not. For a helper who only needs the builder tools, use /setgroup WorldEditor <name> instead.
Why does /op self not work on my Hytale server?
On a dedicated server, /op self only works when the server was started with --allow-op, and otherwise shows a tip. Use /op add in the console instead: while --allow-op is on, any player can make themselves operator.
How do I whitelist players on a Hytale server?
Run /whitelist add <name> for each player, then /whitelist enable. Operators always get in, and /whitelist status shows whether the whitelist is on.
How do I turn on PvP on a Hytale server?
Run /world config pvp true in the world you want, or set "IsPvpEnabled": true in that world's config.json while the server is stopped. Each world has its own setting.
Can I ban a Hytale player for a set time?
Not with the built-in command. /ban has no duration, so a ban lasts until you run /unban <name>. Plugins can replace ban handling through Hypixel's BanProvider interface.
Sources
All opened on 1 November 2026:
- Hypixel Studios: Hytale Server Manual
- Hytale server API reference 0.7.4: overview, Options, OpSelfCommand, OpAddCommand, SetGroupCommand, PermListCommand, PermReloadCommand, PermissionsModule, HytalePermissionsProvider, AccessControlModule, JoinPermissionProvider, HytaleServerConfig, ArgTypes, BanCommand, KickCommand, WorldConfigSetPvpCommand, constant values
- Hytale Maven repository: release metadata (server 0.7.5)
- Hytale patch notes: Update 5, Update 6, Chapter I, Update 7 modder-facing notes, Update 8 pre-release notes