{"id":658,"date":"2021-05-30T15:40:36","date_gmt":"2021-05-30T15:40:36","guid":{"rendered":"https:\/\/xgamingserver.com\/blog\/?p=658"},"modified":"2026-06-15T19:21:31","modified_gmt":"2026-06-15T19:21:31","slug":"adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username","status":"publish","type":"post","link":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/","title":{"rendered":"Adding an OP\/Admin to Minecraft server using ops.json and op username"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Granting operator (&#8220;op&#8221;) status is the single most important administrative task on a Minecraft Java server. An op can run cheat and management commands, bypass spawn protection, and \u2014 at the highest level \u2014 stop or save the server. Get it right and your staff can moderate effectively; get it wrong and you hand someone the keys to your entire world. This guide covers every way to add an op, how the <code>ops.json<\/code> file is structured, what each of the four permission levels actually unlocks, how the server console fits in, how the whitelist interacts with ops, and how to safely remove operator status when someone leaves your team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Everything below targets vanilla Java Edition behavior that has been stable across 1.19\u20131.21.8 (and the calendar-versioned releases that followed in 2026), with version notes where Mojang changed things. If you run Paper, Spigot, or Purpur, the <code>\/op<\/code> command and <code>ops.json<\/code> work identically \u2014 those forks layer plugin permissions on top, but the vanilla op system underneath is unchanged.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The fastest way: the \/op command<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The simplest method to make someone an admin is the built-in <code>\/op<\/code> command. Run it from an existing op account in-game, or \u2014 better \u2014 straight from the server console, which always operates at the highest privilege level (more on that below).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/op PlayerName\n\/deop PlayerName<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When you run <code>\/op PlayerName<\/code>, the server writes a new entry into <code>ops.json<\/code> and grants the player the level defined by the <code>op-permission-level<\/code> key in <code>server.properties<\/code>. By default that value is <strong>4<\/strong> \u2014 meaning a plain <code>\/op<\/code> hands over <em>full<\/em> owner-level control, including the ability to stop the server. If you only want to give someone moderator powers, you must either change <code>op-permission-level<\/code> first or edit <code>ops.json<\/code> by hand (covered in the levels section). The <code>\/deop PlayerName<\/code> command reverses it instantly, removing the player&#8217;s entry from the file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A common gotcha: <code>\/op<\/code> works best with the player <strong>online<\/strong>, because the server can resolve their current UUID from the session. You can op an offline player by name, and the server will look up the UUID, but on offline-mode (&#8220;cracked&#8221;) servers the UUID is generated from the name rather than fetched from Mojang \u2014 so always confirm the right account got opped. If you&#8217;re running a cracked setup, read our walkthrough on <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-allow-cracked-players-to-join-your-minecraft-server-disable-online-mode\/\">allowing cracked players by disabling online-mode<\/a> before you start handing out admin, because impersonation risk is very real there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Inside ops.json: the file that stores every operator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every op on your server is recorded in a single file, <code>ops.json<\/code>, located in the server&#8217;s root directory alongside <code>server.properties<\/code>, <code>whitelist.json<\/code>, and your world folders. It is a JSON array of objects \u2014 one object per operator. Here is the exact structure:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[\n  {\n    \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"name\": \"PlayerName\",\n    \"level\": 4,\n    \"bypassesPlayerLimit\": false\n  }\n]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Each field has a precise job:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>uuid<\/code><\/strong> \u2014 the operator&#8217;s UUID in hyphenated hexadecimal form. This is the authoritative identifier; the server matches ops by UUID, not username, so a player who renames keeps their op.<\/li>\n<li><strong><code>name<\/code><\/strong> \u2014 the player&#8217;s username. This is primarily for human readability; the UUID is what actually binds the permission.<\/li>\n<li><strong><code>level<\/code><\/strong> \u2014 the permission level, an integer from <code>1<\/code> to <code>4<\/code>. When created by <code>\/op<\/code>, this defaults to whatever <code>op-permission-level<\/code> is set to.<\/li>\n<li><strong><code>bypassesPlayerLimit<\/code><\/strong> \u2014 a boolean. If <code>true<\/code>, this op can join even when the server is at its <code>max-players<\/code> cap (they still count toward the total once in).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can edit <code>ops.json<\/code> directly through your control panel&#8217;s file manager or over SFTP. This is the only way to assign a <em>custom<\/em> level (1\u20133) without temporarily changing <code>op-permission-level<\/code>, because the <code>\/op<\/code> command always grants the configured default. After editing the file manually, run <code>\/reload<\/code> in the console or restart the server so the change is read.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Editing tip:<\/strong> always stop the server (or at least confirm no one is mid-op-command) before hand-editing <code>ops.json<\/code>. The server rewrites the file on shutdown and on op\/deop commands, so an edit made to a live file can be silently overwritten. Validate your JSON \u2014 a missing comma or bracket will cause the server to discard the file and your ops will vanish on the next start.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Op permission levels 1\u20134: what each one actually unlocks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Minecraft Java defines five tiers of permission (0 through 4), and they are <strong>cumulative<\/strong> \u2014 each level includes everything below it. Level 0 is the default for any non-op player. Levels 1\u20134 are the op tiers stored in <code>ops.json<\/code>. Choosing the right level for each staff member is the core of safe server administration: a chat moderator does not need the ability to <code>\/stop<\/code> the server.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Level<\/th><th>Common name<\/th><th>What it unlocks (cumulative)<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>Default (non-op)<\/td><td>Baseline player. Can enable the TPS\/debug graph; sees command-block and console broadcasts if those are enabled.<\/td><\/tr><tr><td>1<\/td><td>Moderator<\/td><td>Can <strong>bypass spawn protection<\/strong> (build\/break inside the protected spawn square).<\/td><\/tr><tr><td>2<\/td><td>Gamemaster<\/td><td>Command blocks, <code>\/difficulty<\/code>, F3 debug hotkeys, the operator items tab, target selectors, and most cheat commands.<\/td><\/tr><tr><td>3<\/td><td>Admin<\/td><td>Multiplayer-management commands: <code>\/ban<\/code>, <code>\/kick<\/code>, <code>\/whitelist<\/code>, and <code>\/op<\/code> \/ <code>\/deop<\/code> on other players.<\/td><\/tr><tr><td>4<\/td><td>Owner<\/td><td>Everything, including server-management commands like <code>\/stop<\/code> and <code>\/save-all<\/code>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So if you want a trusted builder who can ignore spawn protection but not run cheats, set their <code>level<\/code> to <code>1<\/code>. A map-maker who needs command blocks and gamemode switching sits at <code>2<\/code>. Staff who handle bans and the whitelist need <code>3<\/code>. Reserve <code>4<\/code> for yourself and co-owners only, because level 4 can shut the whole thing down.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting a custom level cleanly<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The recommended workflow for a moderator (level 1) is to set the server-wide default low, then op, then edit individuals up as needed. In <code>server.properties<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>op-permission-level=1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">With that set, any <code>\/op<\/code> grants level 1, and you bump trusted admins up to 3 or 4 by editing their <code>level<\/code> field in <code>ops.json<\/code>. Remember that <code>op-permission-level<\/code> accepts only <code>1<\/code>\u2013<code>4<\/code>, and that changing it does not retroactively alter existing op entries \u2014 it only affects future <code>\/op<\/code> commands.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Opping from the server console<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The server console \u2014 the terminal window or the live console in your hosting control panel \u2014 is the safest and most reliable place to grant op, especially the very first time when no one is opped yet. The console <strong>always runs at the equivalent of level 4<\/strong> and needs no op itself, because it <em>is<\/em> the server. That solves the classic chicken-and-egg problem: you can&#8217;t op yourself in-game until someone has opped you, but the console can op anyone at any time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From the console, commands are typed <strong>without the leading slash<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>op PlayerName\ndeop PlayerName\nwhitelist add PlayerName<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re hosting with us, the console is one click away in your game panel \u2014 no SSH or terminal knowledge required. Our <a href=\"https:\/\/xgamingserver.com\/docs\/minecraft\">Minecraft setup documentation<\/a> walks through finding the console and the config files in the panel step by step. And if you haven&#8217;t picked a host yet, our <a href=\"https:\/\/xgamingserver.com\/minecraft-server-hosting\">managed Minecraft server plans<\/a> give you instant console access plus a one-click file editor for <code>ops.json<\/code> and <code>server.properties<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The whitelist and how ops interact with it<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A whitelist restricts who can join your server to an approved list of accounts. It pairs naturally with ops: a tight whitelist plus carefully-leveled ops is the foundation of a secure private server. The whitelist is controlled by two keys in <code>server.properties<\/code> and the <code>whitelist.json<\/code> file.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Key (server.properties)<\/th><th>Default<\/th><th>Effect<\/th><\/tr><\/thead><tbody><tr><td><code>white-list<\/code><\/td><td><code>false<\/code><\/td><td>Enables access control via <code>whitelist.json<\/code>. Set <code>true<\/code> to turn the whitelist on.<\/td><\/tr><tr><td><code>enforce-whitelist<\/code><\/td><td><code>false<\/code><\/td><td>When <code>true<\/code>, kicks already-online players who aren&#8217;t whitelisted after the whitelist is reloaded.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Manage the list with these commands (with slash in-game, without in console):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/whitelist on\n\/whitelist add PlayerName\n\/whitelist remove PlayerName\n\/whitelist list\n\/whitelist off<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A key convenience: <strong>operators are automatically whitelisted<\/strong>. You don&#8217;t need to add your ops to <code>whitelist.json<\/code> separately \u2014 the server treats them as always-allowed. That said, when you <code>\/deop<\/code> someone, they lose that automatic pass, so if your whitelist is on, a former op who isn&#8217;t explicitly whitelisted will be locked out. Plan for that when demoting staff.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Removing op safely<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Removing operator status is just as important as granting it \u2014 staff leave, trust changes, and stale level-4 ops are a security liability. There are two clean ways to do it.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Command (recommended):<\/strong> run <code>\/deop PlayerName<\/code> in-game or <code>deop PlayerName<\/code> in the console. The player&#8217;s entry is removed from <code>ops.json<\/code> immediately and they drop to level 0.<\/li>\n<li><strong>Manual edit:<\/strong> stop the server, open <code>ops.json<\/code>, delete that player&#8217;s object from the array (mind the commas so the JSON stays valid), and start the server again.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">After a deop, double-check two things: that your whitelist still includes anyone who should stay (deopping removes the automatic whitelist pass), and that no plugin permission group is still granting elevated rights independently of vanilla op. On Paper\/Spigot servers, a permissions plugin can keep a user powerful even after deop, so audit both layers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Spawn protection: the level-2 gotcha<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One behavior surprises many new admins: by default, <strong>only ops at level 2 or higher can build or break blocks inside the spawn-protection zone.<\/strong> The relevant key is <code>spawn-protection<\/code> in <code>server.properties<\/code>, default <code>16<\/code>. The number is a radius-like value: the protected square&#8217;s side length is <strong>2x + 1<\/strong>, so <code>16<\/code> produces a 33\u00d733-block protected area around the world spawn. Set it to <code>0<\/code> (or a negative value) to disable spawn protection entirely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why a level-1 op can <em>bypass<\/em> spawn protection \u2014 that&#8217;s literally what level 1 grants \u2014 while a non-op (level 0) cannot touch blocks near spawn. If your builders complain they can&#8217;t edit spawn, the fix is either raising their op level or lowering <code>spawn-protection<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Java vs Bedrock: a different permission system entirely<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Everything above is Java Edition. If you run a <strong>Bedrock Dedicated Server (BDS)<\/strong>, the op system is fundamentally different \u2014 there is no numeric 1\u20134 ladder and no <code>ops.json<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bedrock uses three named tiers: <strong>visitor<\/strong>, <strong>member<\/strong>, and <strong>operator<\/strong>.<\/li>\n<li>Permissions are stored in <code>permissions.json<\/code>, keyed by the player&#8217;s <strong>XUID<\/strong> (their Xbox Live identifier) rather than a Mojang UUID.<\/li>\n<li>The server-wide default is set with the <code>default-player-permission-level<\/code> property, which accepts <code>visitor<\/code>, <code>member<\/code>, or <code>operator<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The two editions are not compatible \u2014 a Java <code>ops.json<\/code> means nothing to a Bedrock server and vice versa. Bedrock also listens on <strong>UDP port 19132<\/strong> (IPv4) and <strong>19133<\/strong> (IPv6) by default, versus Java&#8217;s <strong>TCP port 25565<\/strong>. Keep that in mind if you administer both.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What ops can do next: useful admin commands<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once you&#8217;re opped, a whole catalogue of vanilla commands opens up. A few you&#8217;ll reach for constantly: <code>\/gamemode<\/code>, <code>\/gamerule<\/code>, <code>\/difficulty<\/code>, <code>\/give<\/code>, <code>\/tp<\/code>, <code>\/time set<\/code>, <code>\/weather<\/code>, and the moderation set <code>\/ban<\/code>, <code>\/kick<\/code>, and <code>\/pardon<\/code>. Note that vanilla <code>\/ban<\/code> is <em>permanent only<\/em> \u2014 there is no built-in temporary-ban duration. For timed bans (<code>\/tempban<\/code>), mutes, or an economy, you need a plugin like EssentialsX on a Paper\/Spigot server, since vanilla <code>server.jar<\/code> cannot load plugins.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Game rules deserve a special note for 2026 admins. Mojang renamed every game rule to snake_case in Java 1.21.11 (December 2025): <code>keepInventory<\/code> became <code>keep_inventory<\/code>, <code>mobGriefing<\/code> became <code>mob_griefing<\/code>, and so on. The old camelCase names still work on 1.21.10 and earlier, so check your version before scripting commands. As an op you&#8217;ll use these often \u2014 for example to <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-stop-the-day-cycle-in-your-minecraft-server\/\">stop the day\/night cycle<\/a> with the daylight game rule, to <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-disable-fall-damage-on-your-minecraft-server\/\">disable fall damage<\/a>, or to <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-stop-warden-spawning-in-your-minecraft-server\/\">stop warden spawning<\/a> in the deep dark.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">How do I op myself on my own Minecraft server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the server console (in your hosting control panel or the terminal where the server runs) and type <code>op YourUsername<\/code> with no slash. The console runs at level 4 and needs no op of its own, so this works even when nobody is opped yet \u2014 it&#8217;s the standard way to bootstrap the first operator. If you have local terminal access to a self-hosted server, the same command works there. You cannot op yourself purely in-game until another op or the console has opped you first.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where is the ops.json file located?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ops.json<\/code> sits in the root directory of your Minecraft server, in the same folder as <code>server.properties<\/code>, <code>whitelist.json<\/code>, the server jar, and your world folders. On a managed host you&#8217;ll find it in the file manager of your control panel; on a self-hosted server it&#8217;s wherever you launch the jar from. It&#8217;s a plain JSON array, so you can open and edit it in any text editor \u2014 just stop the server first and keep the JSON valid so the server doesn&#8217;t discard it on startup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I make someone an admin but not give them full control?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the permission levels. A plain <code>\/op<\/code> grants level 4 (full owner control) by default, which is usually too much. Either set <code>op-permission-level<\/code> in <code>server.properties<\/code> to a lower number before opping, or op the player and then edit their <code>level<\/code> field in <code>ops.json<\/code> to <code>1<\/code>, <code>2<\/code>, or <code>3<\/code>. Level 1 is a moderator (bypass spawn protection only), level 2 a gamemaster (cheats, command blocks), and level 3 an admin (bans, kicks, whitelist, opping others). Restart or run <code>\/reload<\/code> after a manual edit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why doesn&#8217;t the \/op command work?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The most common causes: you&#8217;re trying to run <code>\/op<\/code> as a non-op player in-game (only the console or an existing level-3+ op can op others), you typed a username that doesn&#8217;t exactly match the account, or you added a slash when typing in the console (console commands take no slash). On offline-mode servers, also confirm the right UUID was written, since offline UUIDs are name-derived. If a manual <code>ops.json<\/code> edit isn&#8217;t taking effect, you almost certainly need to <code>\/reload<\/code> or restart the server, or your JSON has a syntax error and the file was discarded.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do operators need to be on the whitelist?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No \u2014 operators are automatically whitelisted, so you don&#8217;t have to add them to <code>whitelist.json<\/code> separately while they hold op. The catch is that this pass disappears the moment you <code>\/deop<\/code> them. If your whitelist is enabled and you demote a former staff member, explicitly run <code>\/whitelist add<\/code> for them if you still want them to be able to join as a regular player; otherwise they&#8217;ll be locked out.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I remove an admin or op from my server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run <code>\/deop PlayerName<\/code> in-game or <code>deop PlayerName<\/code> in the console \u2014 this removes their entry from <code>ops.json<\/code> and drops them to a normal player instantly. Alternatively, stop the server and delete that player&#8217;s object from the <code>ops.json<\/code> array by hand. On Paper or Spigot servers, also check that no permissions plugin is granting them elevated rights outside the vanilla op system, because a plugin group can keep someone powerful even after a vanilla deop.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Opping an admin is fast \u2014 one <code>\/op<\/code> command \u2014 but doing it <em>well<\/em> means understanding what&#8217;s underneath: the <code>ops.json<\/code> array, the four cumulative permission levels, the all-powerful console, and how the whitelist&#8217;s automatic pass for ops behaves on demotion. Match each staff member to the lowest level that lets them do their job, keep level 4 to owners only, and audit your op list whenever your team changes. While you&#8217;re tuning your server, you might also want to <a href=\"https:\/\/xgamingserver.com\/blog\/disabling-creeper-explosions-tnt-in-your-minecraft-server\/\">disable creeper and TNT explosions<\/a> or <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-add-money-to-any-minecraft-server\/\">add an economy<\/a> \u2014 both are classic next steps once your admin team is in place.<\/p>\n\n\n<!-- xg-tools-mesh -->\n\n<div class=\"wp-block-group xg-tools-box is-layout-flow wp-block-group-is-layout-flow\" style=\"border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px 22px;margin-top:8px;background:rgba(76,175,80,.04);\">\n<h3 class=\"wp-block-heading\">Free Minecraft Tools<\/h3>\n<p class=\"wp-block-paragraph\">Speed up your server with our free Minecraft tools:<\/p>\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/xgamingserver.com\/tools\/minecraft\/give-command\">Give Command Generator<\/a><\/li><li><a href=\"https:\/\/xgamingserver.com\/tools\/minecraft\/ore-distribution\">Ore Distribution Chart<\/a><\/li><li><a href=\"https:\/\/xgamingserver.com\/tools\/minecraft\/enchantment-calculator\">Enchantment Calculator<\/a><\/li><li><a href=\"https:\/\/xgamingserver.com\/tools\/minecraft\/achievement-generator\">Achievement Generator<\/a><\/li><\/ul>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Granting operator (&#8220;op&#8221;) status is the single most important administrative task on a Minecraft Java server. An op can run cheat and management commands, bypass spawn protection, and \u2014 at the highest level \u2014 stop or save the server. Get it right and your staff can moderate effectively; get it wrong and you hand someone [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":661,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[19],"tags":[],"class_list":["post-658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-minecraft-server-docs"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Adding an OP\/Admin to Minecraft server using ops.json and op username - XGamingServer<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adding an OP\/Admin to Minecraft server using ops.json and op username\" \/>\n<meta property=\"og:description\" content=\"Granting operator (&#8220;op&#8221;) status is the single most important administrative task on a Minecraft Java server. An op can run cheat and management commands, bypass spawn protection, and \u2014 at the highest level \u2014 stop or save the server. Get it right and your staff can moderate effectively; get it wrong and you hand someone [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\" \/>\n<meta property=\"og:site_name\" content=\"XGamingServer\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/xgamingserver69\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-30T15:40:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-15T19:21:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1169\" \/>\n\t<meta property=\"og:image:height\" content=\"478\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Xray\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rainerstudios\" \/>\n<meta name=\"twitter:site\" content=\"@xgamingserver\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Xray\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\"},\"author\":{\"name\":\"Xray\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608\"},\"headline\":\"Adding an OP\/Admin to Minecraft server using ops.json and op username\",\"datePublished\":\"2021-05-30T15:40:36+00:00\",\"dateModified\":\"2026-06-15T19:21:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\"},\"wordCount\":2362,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png\",\"articleSection\":[\"Minecraft\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\",\"url\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\",\"name\":\"Adding an OP\/Admin to Minecraft server using ops.json and op username - XGamingServer\",\"isPartOf\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png\",\"datePublished\":\"2021-05-30T15:40:36+00:00\",\"dateModified\":\"2026-06-15T19:21:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage\",\"url\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png\",\"contentUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png\",\"width\":1169,\"height\":478,\"caption\":\"minecraft server ops.json\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/xgamingserver.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Minecraft\",\"item\":\"https:\/\/xgamingserver.com\/blog\/category\/minecraft-server-docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Adding an OP\/Admin to Minecraft server using ops.json and op username\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#website\",\"url\":\"https:\/\/xgamingserver.com\/blog\/\",\"name\":\"XGamingServer\",\"description\":\"Dedicated Game Server Hosting\",\"publisher\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/xgamingserver.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\",\"name\":\"XGamingServer\",\"url\":\"https:\/\/xgamingserver.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg\",\"contentUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"XGamingServer\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/xgamingserver69\/\",\"https:\/\/x.com\/xgamingserver\",\"https:\/\/www.instagram.com\/xgamingserver\/\",\"https:\/\/www.linkedin.com\/company\/xgamingserver\/\",\"https:\/\/www.pinterest.com\/xgamingserver\/\",\"https:\/\/www.youtube.com\/channel\/UCHnOtWxpzaL2r3jM9Jm40EQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608\",\"name\":\"Xray\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g\",\"caption\":\"Xray\"},\"description\":\"A Mathematician who knows a thing or two about Design.\",\"sameAs\":[\"https:\/\/xgamingserver.com\/blog\",\"https:\/\/www.instagram.com\/rainerstudios\/\",\"https:\/\/x.com\/@rainerstudios\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Adding an OP\/Admin to Minecraft server using ops.json and op username - XGamingServer","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/","og_locale":"en_US","og_type":"article","og_title":"Adding an OP\/Admin to Minecraft server using ops.json and op username","og_description":"Granting operator (&#8220;op&#8221;) status is the single most important administrative task on a Minecraft Java server. An op can run cheat and management commands, bypass spawn protection, and \u2014 at the highest level \u2014 stop or save the server. Get it right and your staff can moderate effectively; get it wrong and you hand someone [&hellip;]","og_url":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/","og_site_name":"XGamingServer","article_publisher":"https:\/\/web.facebook.com\/xgamingserver69\/","article_published_time":"2021-05-30T15:40:36+00:00","article_modified_time":"2026-06-15T19:21:31+00:00","og_image":[{"width":1169,"height":478,"url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png","type":"image\/png"}],"author":"Xray","twitter_card":"summary_large_image","twitter_creator":"@rainerstudios","twitter_site":"@xgamingserver","twitter_misc":{"Written by":"Xray","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#article","isPartOf":{"@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/"},"author":{"name":"Xray","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608"},"headline":"Adding an OP\/Admin to Minecraft server using ops.json and op username","datePublished":"2021-05-30T15:40:36+00:00","dateModified":"2026-06-15T19:21:31+00:00","mainEntityOfPage":{"@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/"},"wordCount":2362,"commentCount":2,"publisher":{"@id":"https:\/\/xgamingserver.com\/blog\/#organization"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage"},"thumbnailUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png","articleSection":["Minecraft"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/","url":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/","name":"Adding an OP\/Admin to Minecraft server using ops.json and op username - XGamingServer","isPartOf":{"@id":"https:\/\/xgamingserver.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage"},"thumbnailUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png","datePublished":"2021-05-30T15:40:36+00:00","dateModified":"2026-06-15T19:21:31+00:00","breadcrumb":{"@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#primaryimage","url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png","contentUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png","width":1169,"height":478,"caption":"minecraft server ops.json"},{"@type":"BreadcrumbList","@id":"https:\/\/xgamingserver.com\/blog\/adding-an-op-admin-to-minecraft-server-using-ops-json-and-op-username\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xgamingserver.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Minecraft","item":"https:\/\/xgamingserver.com\/blog\/category\/minecraft-server-docs\/"},{"@type":"ListItem","position":3,"name":"Adding an OP\/Admin to Minecraft server using ops.json and op username"}]},{"@type":"WebSite","@id":"https:\/\/xgamingserver.com\/blog\/#website","url":"https:\/\/xgamingserver.com\/blog\/","name":"XGamingServer","description":"Dedicated Game Server Hosting","publisher":{"@id":"https:\/\/xgamingserver.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xgamingserver.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/xgamingserver.com\/blog\/#organization","name":"XGamingServer","url":"https:\/\/xgamingserver.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg","contentUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg","width":"1024","height":"1024","caption":"XGamingServer"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/xgamingserver69\/","https:\/\/x.com\/xgamingserver","https:\/\/www.instagram.com\/xgamingserver\/","https:\/\/www.linkedin.com\/company\/xgamingserver\/","https:\/\/www.pinterest.com\/xgamingserver\/","https:\/\/www.youtube.com\/channel\/UCHnOtWxpzaL2r3jM9Jm40EQ"]},{"@type":"Person","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608","name":"Xray","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g","caption":"Xray"},"description":"A Mathematician who knows a thing or two about Design.","sameAs":["https:\/\/xgamingserver.com\/blog","https:\/\/www.instagram.com\/rainerstudios\/","https:\/\/x.com\/@rainerstudios"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2021\/05\/image-10.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/comments?post=658"}],"version-history":[{"count":6,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/658\/revisions"}],"predecessor-version":[{"id":22480,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/658\/revisions\/22480"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/media\/661"}],"wp:attachment":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/media?parent=658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/categories?post=658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/tags?post=658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}