Displays the location of all active and sleeping players on the server

Supported Games
GameServerKingsGameServerKings

Find the location of any player on your server with detailed context about what they're doing, where they are, and what's happening around them. Displays map grid coordinates along with status tags for player state, nearby monuments, world events, vehicles, and more. All strings are localizable via the Oxide lang system.

Permissions

  • playerlocation.admin -- Required to use any location command

Grant to all admins:

oxide.grant group admin playerlocation.admin

Commands

Use /location in chat or location in the server console.

  • location -- Show all players
  • location [name|id] -- Search for a specific player by name or Steam ID
  • location -on -- Show online players only
  • location -off -- Show offline/sleeping players only
  • location -on [name|id] -- Search within online players
  • location -off [name|id] -- Search within offline players
  • location -d -- Show all last death locations
  • location -d [name|id] -- Show death location for a specific player
  • location -tp [name|id] -- Teleport to a player (in-game only)
  • location -help -- Show the full command list

Output Format

In-game chat:

PlayerName (near Launch Site): M12, 450, -200
PlayerName (sleeping 3 hours) (in base): H8, -120, 340

Server console (includes Steam ID):

76561198012345678 PlayerName (sleeping 3 hours) (in base): H8, -120, 340

Players outside the map grid display the monument name or "Deep Sea" as the grid coordinate:

PlayerName: Oil Rig, 3200, -1800
PlayerName (on boat): Deep Sea, 3250, -1900

Status Tags

Multiple tags can appear at once, giving full context at a glance.

Player State

  • (sleeping) -- Player is offline/sleeping
  • (sleeping X minutes/hours/days) -- Sleeping with duration (console output)
  • (dead) -- Player is dead
  • (flying) -- Player is flying (noclip)
  • (swimming) -- Player is in water
  • (underground) -- Player is below terrain (tunnels, caves, bunkers)
  • (in base) -- Player is in a tool cupboard zone
  • (admin) -- Player has admin privileges
  • (god) -- Player has god mode

Watercraft

  • (on tugboat) -- On a tugboat
  • (on RHIB) -- On a RHIB
  • (on rowboat) -- On a motorized rowboat
  • (in kayak) -- In a kayak
  • (on boogieboard) -- On a boogieboard
  • (on boat) -- On another type of boat
  • (in submarine) -- In a submarine

Aircraft

  • (in minicopter) -- In a minicopter
  • (in scrap helicopter) -- In a scrap transport helicopter
  • (in attack helicopter) -- In an attack helicopter
  • (in balloon) -- In a hot air balloon

Land Vehicles

  • (in car) -- In a modular or basic car
  • (on horse) -- On a ridable horse
  • (on motorcycle) -- On a motorcycle
  • (on bicycle) -- On a pedal bike
  • (on snowmobile) -- On a snowmobile
  • (on train) -- On a train

Monuments

  • (near [Monument Name]) -- Player is within a monument boundary

Monuments outside the map grid (Oil Rig, Large Oil Rig) display the monument name as the grid coordinate instead of showing a redundant tag.

Event Proximity

  • (near Cargo Ship) -- Near the cargo ship
  • (near Chinook) -- Near a CH47 chinook
  • (near Patrol Helicopter) -- Near the patrol helicopter
  • (near Cargo Plane) -- Near a cargo plane
  • (near Supply Drop) -- Near a landed airdrop crate

Event positions are detected on demand each time the command is run.Detection radii are configurable. Event detection can be disabled entirely.

Teleport

/location -tp PlayerName teleports you directly to the matched player.

  • Works with partial name matches and Steam IDs
  • If multiple players match, a list is displayed so you can narrow your search
  • Works for online and offline (sleeping) players
  • Only available in-game, not from RCON or server console

Configuration

A config file is generated at oxide/config/PlayerLocation.json:

{
  "Event detection enabled": true,
  "Cargo ship radius": 200.0,
  "Chinook radius": 300.0,
  "Patrol helicopter radius": 300.0,
  "Cargo plane radius": 300.0,
  "Supply drop radius": 100.0
}

Note: Config and data file formats were changed in v1.1.0. If upgrading from v1.0.x, delete your old oxide/config/PlayerLocation.json and oxide/data/PlayerLocation.json files and let them regenerate.

  • Event detection enabled (true) -- Set to false to disable all event proximity detection (improves performance)
  • [Event] radius (200.0-300.0) -- Detection radius in meters for each event type

Localization

All player-facing strings are registered through the Oxide lang system. Server owners can customize or translate any message by editing oxide/lang/en/PlayerLocation.json.

This includes all status tags, help text, command responses, and time format strings.

Data Storage

Sleep times and death locations are saved to oxide/data/PlayerLocation.json and persist across server restarts. Data is saved automatically on server save and plugin unload. Data is wiped automatically on map wipe.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.