GeoLoc

A simple plugin for the geographical Location of a Player.

386

GeoLoc

GeoLoc

Advanced Geolocation Plugin for Paper Servers

Description

GeoLoc is a powerful geolocation plugin for Paper servers that allows administrators to view the approximate geographic location of their players. With GeoLoc, server admins can easily see where their community members are connecting from around the world, enhancing community building and moderation capabilities.

Features

- Lightweight: Uses multiple geolocation APIs to ensure accurate location data - Lightweight: View full geolocation data or just specific information (city, region, country, local time) - Lightweight: Integrate geolocation data into other plugins using our PAPI expansion - Lightweight: Fully customizable messages through the messages.yml configuration file - Lightweight: Optional location announcements when players join your server - Lightweight: Helpful tab completion for online players - Lightweight: Minimal impact on server performance

Commands

``` /geoloc reload - Reload plugin configuration /geoloc geolocation <player> - View full geolocation data /geoloc geolocation full <player> - View full geolocation data with player suggestions /geoloc geolocation city <player> - View only city information with player suggestions /geoloc geolocation region <player> - View only region information with player suggestions /geoloc geolocation country <player> - View only country information with player suggestions /geoloc geolocation localTime <player> - View only local time information with player suggestions ```

Permissions

- geoloc.see - Access to all GeoLoc commands - geoloc.see - Allows the player to see the join message

PlaceholderAPI Integration

GeoLoc provides the following placeholders when PlaceholderAPI is installed:

``` %geoloc_full% - Full geolocation information %geoloc_city% - Player's city %geoloc_region% - Player's region/state %geoloc_country% - Player's country %geoloc_localtime% - Player's local time ```

Configuration

GeoLoc comes with two configuration files: - messages.yml - Main plugin settings - messages.yml - Customizable messages for all plugin features

config.yml

```yaml

GeoLoc Plugin Configuration

Set to true to display a welcome message to players with their location

Set to false to disable the welcome message

The actual message content is in messages.yml

join-message-enabled: true

Permissions:

geoloc.admin - Allows reloading the config

geoloc.see - Allows seeing the join message (if enabled)

```

messages.yml

```yaml

GeoLoc Plugin Messages

You can use color codes with & (e.g. &a for green, &c for red)

Available placeholders for join-message:

{player} - Player name

{city} - City

{region} - Region/State

{country} - Country

{localTime} - Local time in HH:mm:ss format

Available placeholders for every message is defined by ALL CAPS

Prefix for messages

NONE

prefix: "&c&lGeoLoc &7&l→ &r"

Default value when the geolocation of the player returns null (when they are in a local network)

NONE

default-location-value: "Unknown"

Join message (broadcasts to all players)

PLAYER, CITY, REGION, COUNTRY, LOCALTIME

join-message: "&aPlayer &e{player} &ajoined us from &6{city}, {region}, {country}&a! It's &b{localTime} &athere."

Command messages

command:

NONE

reload-success: "&aGeoLoc configuration has been reloaded successfully!"

NONE

no-permission: "&cYou don't have permission to use this command."

PLAYER, CITY, REGION, COUNTRY, LOCALTIME

location: "&aPlayer &e{player} &ais from &6{city}, {region}, {country}&a! Local time: &b{localTime}"

Log messages (console only)

log:

PLAYER, CITY, REGION, COUNTRY, LOCALTIME

player-connected: "{player} connected from: {city}, {region}, {country} (Local time: {localTime})"

PLAYER

no-ip: "Could not get IP address for player: {player}"

PLAYER

no-geolocation: "Could not get geolocation data for player: {player}"

error:

PLAYER

player-not-found: "&c{player} can't be found or isn't online."

PLAYER

ip-not-found: "&cCouldn't get IP from {player}."

PLAYER

geolocation-not-found: "&cCouldn't get geolocation data from {player}."

Possible Placeholders:

- %geoloc_full% -> Returns all geolocation information from the player

- %geoloc_city% -> Returns the city of the player

- %geoloc_region% -> Returns the region of the player

- %geoloc_country% -> Returns the country of the player

- %geoloc_localTime% -> Retunrs the local time of the player (calculated by region)

The return format of all placeholders can be defined below

PlaceholderAPI return format

placeholder: full: "{city}, {region}, {country}, {localTime}" city: "{city}" region: "{region}" country: "{country}" localTime: "{localTime}" ```

Support

For support, please visit our Discord server or create an issue on our GitHub repository.

Disclaimer

This plugin provides approximate geolocation data based on IP addresses and should not be considered 100% accurate. The data provided is for general informational purposes only and should not be used for any critical decision-making. The plugin relies on third-party geolocation services which may have varying levels of accuracy depending on the region.

GeoLoc respects player privacy and only provides general location information (city, region, country, local time) rather than exact coordinates. Server administrators should inform their players that this information may be visible to server staff.

*GeoLoc is not affiliated with any geolocation service providers used in this plugin. We are not responsible for any inaccuracies in the data provided by these services.*

*© 2025 TSERATO | Version 1.0*

ADS