Skip to content

How to See Who Is On Your Minecraft Server

See who is online, who has ever joined, how long they played, and what is in their inventory. Covers the list command, the playerdata and stats files, and the LoafHub Player Manager.

Level
beginner
Read
11 min
Updated
By
Bradford

There are two different questions hiding behind “who is on my Minecraft server”. One is who is connected right this second, which the list command answers in a line of text. The other is the much bigger one: who has ever joined, when they last played, how many hours they have put in, what they are carrying, and what they have been doing. Vanilla Minecraft does store all of that, but it stores it as raw UUID-named files that are unreadable without tools. This guide covers both, the plain commands and files that work on any server, and the Player Manager in the Loafhosts LoafHub panel that turns those same files into something you can actually read.

See Who Is Online Right Now

The fastest answer is the list command. Run it from the server console with no leading slash, or in-game as an operator with a slash. It prints how many players are connected, the maximum, and each connected username. It is a snapshot, not a live feed, so run it again to refresh.

CommandWhereWhat it prints
listServer consoleThere are 3 of a max of 20 players online: Alex, Steve, Notch
/listIn-game, as an operatorThe same list, in chat
list uuidsServer consoleThe same list with each player’s UUID in brackets
  1. Open your server in the LoafHub panel and go to the Console tab
  2. Type list and press Enter
  3. Read the count and the usernames from the response

Tip: list uuids is the quickest way to get a player’s UUID without leaving the console

Note: The player count on a server list ping (what shows in the multiplayer menu) can lag behind list by a few seconds

The Player Manager: A Live List Without Commands

On Loafhosts, the Player Manager gives you the same information as a page instead of a command. Open your server and pick Player Manager from the sidebar. It shows four tabs across the top, Online, Banned, Operators, and Whitelist, each with a live count, and the Online tab lists every connected player with their skin avatar.

The important detail is how it reads the list. The panel sends list through the server’s console pipe and parses the response, which means it works on any Java server regardless of whether you have enabled RCON. There is nothing to configure and no port to open. The one requirement is that the server has to be running, because a stopped server cannot answer a command.

Note: The Online tab needs the server running, a stopped server cannot report who is connected

Note: Banned, Operators, and Whitelist are read from banned-players.json, ops.json, and whitelist.json, so those tabs still work while the server is off

Who Has Ever Joined, Not Just Who Is Online

This is the question the list command cannot answer, and it is the one most people are actually asking. Minecraft keeps a record of every player who has joined, but it spreads that record across several files in your world folder, each named by the player’s UUID rather than their username.

FileWhat it holds
usercache.jsonUsername to UUID mappings for everyone the server has seen, with a timestamp
world/playerdata/<uuid>.datThe player’s inventory, position, health, food, and XP, stored as compressed NBT
world/stats/<uuid>.jsonEvery counter the game tracks: play time, blocks mined, items crafted, deaths, mob kills
world/advancements/<uuid>.jsonWhich advancements that player has completed, and when

You can open usercache.json and the two JSON files in the LoafHub File Manager and read them directly. The .dat file is the awkward one, it is gzip-compressed binary NBT, so a text editor shows you nothing useful.

Warning: Never edit a file in playerdata while the server is running, the server holds player state in memory and will overwrite your change on save

Tip: Play time in stats.json is stored in ticks under minecraft:play_time, divide by 20 for seconds and by 72000 for hours

Reading a Player’s History in the Panel

Rather than decoding those files yourself, click any player in the Player Manager to open their detail view. Across the top of that view is a row of four figures pulled straight out of the files above:

  • First Joined, the first time the server saw that account
  • Last Played, the most recent session
  • Last Seen Online, when they were last connected
  • Playtime, the total converted out of ticks into hours and minutes

That row alone answers most of the “how long has this person actually played” and “when did they last log in” questions, and it works for players who are currently offline, because it comes from the saved files rather than from a live connection.

Tip: Search for a player by name even if they are offline, the detail view is built from their saved data

Note: A brand new server with nobody who has ever joined has no player files yet, so these figures stay empty until someone connects

Viewing a Player’s Inventory

The detail view has an Inventory tab that decodes that compressed .dat file and draws it as the layout you would see in game. It shows the four armour slots (helmet, chestplate, leggings, boots), the offhand slot, the main inventory grid, and the hotbar with the currently selected slot highlighted, along with health, food, and experience level. Item icons are rendered per slot, so you can read a player’s kit at a glance instead of scrolling through NBT tags.

This is genuinely useful for moderation. If someone reports that a player has items they should not, you can check without teleporting to them, without a plugin, and without them being online.

Note: The inventory reads from the player’s last save on disk, so a connected player’s very latest pickups may not appear until the server next saves

Note: The ender chest is not shown in the inventory view

Stats, Advancements and the Rest of the Detail View

The same detail view carries the rest of what the world folder knows, split into tabs:

TabWhat it shows
OverviewThe headline figures and current status
StatsCounters grouped as blocks mined, items crafted, used, picked up, dropped, and broken
InventoryThe decoded inventory, armour, hotbar and offhand
AdvancementsWhich advancements are complete
ChatChat lines attributed to that player
KillsRecorded kills
DeathsRecorded deaths
IPsAddresses that account has connected from
HistoryPast moderation actions taken against them
BackupsSaved snapshots of that player’s inventory
NotesYour own staff notes on the player
ActionsModeration and utility actions

The IPs tab is the one worth knowing about for moderation, because it is how you spot one person on several accounts. Treat it carefully, an address can legitimately be shared by a household, a school, or a phone network, so a shared IP is a reason to look closer rather than proof of anything on its own.

Warning: A shared IP address is not proof of ban evasion, families and shared connections produce the same pattern

Tip: Use the Notes tab to leave context for the next person on your staff team, it stays attached to the player

Doing It With Commands Instead

If you would rather stay in the console, or you are on a server without the panel, these are the vanilla equivalents. None of them need a plugin.

CommandWhat it does
listWho is connected now
list uuidsThe same, with UUIDs
data get entity <player>Dumps that online player’s full NBT, including their inventory, into the console
scoreboard objectives add hours minecraft.custom:minecraft.play_timeCreates a scoreboard tracking play time for everyone
scoreboard objectives setdisplay sidebar hoursShows that tracker on screen

The data get entity route is the closest vanilla equivalent to an inventory view, though the output is a long single line of NBT and the player has to be online for it to work.

Tip: The scoreboard method is the only vanilla way to see play time as a live number in game rather than reading a file

Common Reasons You Cannot See a Player

If a player you expect is missing, work through these in order. Almost every case is one of them.

  1. The server is stopped. Live lists come from a running server; saved history does not.
  2. They have never actually joined. Being whitelisted or opped does not create player files, only connecting does.
  3. The world folder is not the one you think. If your server runs a custom level-name, the playerdata and stats folders live inside that folder, not inside world.
  4. The server is in offline mode. Offline servers generate UUIDs from the username rather than from a Mojang account, so a player who changes their name shows up as a new person.
  5. You are looking at a sub-world. Nether and End data lives under the main world folder, player files stay in the main one.

Warning: On an offline-mode server a username change creates a completely separate player record, the old data is still there under the old UUID

Frequently Asked Questions

How do I see who is on my Minecraft server?

Run list from the server console, or /list in game as an operator, and it prints the connected count and every username. On Loafhosts you can instead open the Player Manager from your server’s sidebar, which shows the same list as a page with avatars and does not need RCON enabled.

How can I see everyone who has ever joined my server?

Open usercache.json in your server’s root, which maps every username the server has seen to a UUID. For more detail, the stats and advancements folders inside your world contain one file per player who has actually connected. In the panel, the Player Manager lets you search a player by name and shows their First Joined date without opening any files.

How do I check how long someone has played on my server?

Play time lives in world/stats/<uuid>.json under minecraft:play_time, counted in ticks; divide by 72000 to get hours. The Player Manager converts this for you and shows Playtime alongside First Joined, Last Played, and Last Seen Online.

Can I see a player’s inventory on my Minecraft server?

Yes. For an online player, data get entity <player> prints their full NBT including inventory into the console. For any player, online or not, the Inventory tab in the LoafHub Player Manager decodes their saved playerdata file and draws the armour, hotbar, offhand, and main inventory as a readable grid.

Where is Minecraft player data stored on a server?

Inside your world folder. Inventories and positions are in playerdata as UUID-named .dat files, counters are in stats as UUID-named .json files, and advancement progress is in advancements. The username to UUID mapping is in usercache.json in the server root.

Do I need RCON to see my players?

No. The Player Manager sends commands through the server’s console pipe rather than over RCON, so it works whether or not enable-rcon is set. The only requirement for live data is that the server is running.

Why is a player’s inventory empty in the panel?

Either they have genuinely never joined, so no playerdata file exists yet, or their file has not been written since they last picked something up. Player data is written when the server saves, so a very recent change can lag until the next save or until the player disconnects.

Rate this guide

Tap a star, it helps us decide what to write (and fix) next.