Preview

🔍 Analysis
- 🏆 #4 of 208 management mods in this game by downloads
📋 About This Mod
# SyAPI SyAPI is a server statistics API plugin for Minecraft Purpur/Paper 1.21.1, providing server runtime status, player statistics, and more. ## Features - 📊 Server uptime statistics - 📈 Yesterday's login count statistics - 👥 Historical maximum online players record - 📝 Total login count statistics - ⚡ Server minimum TPS monitoring - 🌐 Player latency detection (highest latency player) ## Supported Versions - **Server**: Paper, Purpur 1.21.1 - **Java Version**: Java 17+ - **API Version**: 1.21 ## Usage ### Commands | Command | Description | Permission | |---------|-------------|------------| | `/syapi` | View server statistics | `syapi.use` | | `/syapi info` | View server statistics | `syapi.use` | | `/syapi reload` | Reload plugin configuration | `syapi.admin` | | `/syapi help` | Display help information | `syapi.use` | ### API Usage Other plugins can call SyAPI in the following way: ```java import cn.shiyuan.syapi.SyAPI; import cn.shiyuan.syapi.SyAPIProvider; // Get API provider SyAPI syapi = SyAPI.getInstance(); SyAPIProvider api = syapi.getApiProvider(); // Get server start time long startTime = api.getServerStartTimeMillis(); String uptime = api.getServerUptime(); String startTimeFormatted = api.getServerStartTimeFormatted(); // Get player statistics int yesterdayJoins = api.getYesterdayJoinCount(); int maxOnline = api.getMaxOnlinePlayers(); int totalJoins = api.getTotalJoinCount(); // Get server performance data double minTps = api.getMinTps(); // Get latency information Player highestLatencyPlayer = api.getHighestLatencyPlayer(); String playerName = api.getHighestLatencyPlayerName(); long highestLatency = api.getHighestLatency(); long playerLatency = api.getPlayerLatency(player); ``` ### API Method Reference #### Server Time Related | Method | Return Value | Description | |--------|--------------|-------------| | `getServerStartTimeMillis()` | `long` | Get server start timestamp (milliseconds) | | `getServerUptime()` | `String` | Get server uptime (formatted string, e.g., "2 days 5 hours 30 minutes") | | `getServerStartTimeFormatted()` | `String` | Get server start time (formatted date, e.g., "2026-04-03 12:30:00") | #### Player Statistics Related | Method | Return Value | Description | |--------|--------------|-------------| | `getYesterdayJoinCount()` | `int` | Get yesterday's login count (unique players) | | `getMaxOnlinePlayers()` | `int` | Get historical maximum online players | | `getTotalJoinCount()` | `int` | Get total login count | #### Server Performance Related | Method | Return Value | Description | |--------|--------------|-------------| | `getMinTps()` | `double` | Get server minimum TPS | | `getHighestLatencyPlayer()` | `Player` | Get player object with highest latency | | `getHighestLatencyPlayerName()` | `String` | Get name of player with highest latency | | `getHighestLatency()` | `long` | Get maximum latency value (milliseconds) | | `getPlayerLatency(Player player)` | `long` | Get specified player's latency (milliseconds) | ## Project Structure ``` SyAPI/ ├── src/ │ └── main/ │ ├── java/cn/shiyuan/syapi/ │ │ ├── SyAPI.java # Main class │ │ ├── SyAPIProvider.java # API provider │ │ ├── StatsManager.java # Statistics manager │ │ ├── PlayerListener.java # Player event listener │ │ └── SyAPICommand.java # Command handler │ └── resources/ │ ├── plugin.yml # Plugin configuration │ └── data.yml # Data storage ├── pom.xml # Maven configuration └── README.md # Documentation ``` ## Permission Nodes | Permission | Description | Default | |------------|-------------|---------| | `syapi.admin` | Admin permissions (reload, etc.) | OP | | `syapi.use` | Usage permissions (view statistics) | All players | ## Data Storage The plugin uses YAML files to store data, located at `plugins/SyAPI/data.yml`: - `total-join-count`: Total login count - `max-online-players`: Historical maximum online players - `yesterday-join-count`: Yesterday's login count - `today-join-count`: Today's login count (automatically resets daily) - `current-date`: Current date - `yesterday-players`: Yesterday's player UUID list ## Scheduled Tasks The plugin automatically runs the following scheduled tasks after startup: - **TPS Monitoring**: Updates minimum TPS every second - **Latency Update**: Updates player latency data every second - **Date Check**: Checks for date changes every minute, automatically resets today's statistics - **Data Save**: Automatically saves data to file every 5 minutes
SyAPI is a server statistics API plugin for Minecraft Purpur/Paper 1. 21. 1, providing server runtime status, player statistics, and more.
## Features
- 📊 Server uptime statistics
- 📈 Yesterday's login count statistics
- 👥 Historical maximum online players record
- 📝 Total login count statistics
- ⚡ Server minimum TPS monitoring
- 🌐 Player latency detection (highest latency player)
## Supported Versions
- Server: Paper, Purpur 1. 21. 1
- Java Version: Java 17+
- API Version: 1. 21
### Commands
| Command | Description | Permission | |---------|-------------|------------| | `/syapi` | View server statistics | `syapi.use` | | `/syapi info` | View server statistics | `syapi.use` | | `/syapi reload` | Reload plugin configuration | `syapi.admin` | | `/syapi help` | Display help information | `syapi.use` |
### API Usage
Other plugins can call SyAPI in the following way:
```java import cn.shiyuan.syapi. SyAPI; import cn.shiyuan.syapi. SyAPIProvider;
// Get API provider SyAPI syapi = SyAPI.getInstance(); SyAPIProvider api = syapi.getApiProvider();
// Get server start time long startTime = api.getServerStartTimeMillis(); String uptime = api.getServerUptime(); String startTimeFormatted = api.getServerStartTimeFormatted();
// Get player statistics int yesterdayJoins = api.getYesterdayJoinCount(); int maxOnline = api.getMaxOnlinePlayers(); int totalJoins = api.getTotalJoinCount();
// Get server performance data double minTps = api.getMinTps();
// Get latency information Player highestLatencyPlayer = api.getHighestLatencyPlayer(); String playerName = api.getHighestLatencyPlayerName(); long highestLatency = api.getHighestLatency(); long playerLatency = api.getPlayerLatency(player); ```
### API Method Reference
#### Server Time Related
| Method | Return Value | Description | |--------|--------------|-------------| | `getServerStartTimeMillis()` | `long` | Get server start timestamp (milliseconds) | | `getServerUptime()` | `String` | Get server uptime (formatted string, e.g., "2 days 5 hours 30 minutes") | | `getServerStartTimeFormatted()` | `String` | Get server start time (formatted date, e.g., "2026-04-03 12:30:00") |
#### Player Statistics Related
| Method | Return Value | Description | |--------|--------------|-------------| | `getYesterdayJoinCount()` | `int` | Get yesterday's login count (unique players) | | `getMaxOnlinePlayers()` | `int` | Get historical maximum online players | | `getTotalJoinCount()` | `int` | Get total login count |
#### Server Performance Related
| Method | Return Value | Description | |--------|--------------|-------------| | `getMinTps()` | `double` | Get server minimum TPS | | `getHighestLatencyPlayer()` | `Player` | Get player object with highest latency | | `getHighestLatencyPlayerName()` | `String` | Get name of player with highest latency | | `getHighestLatency()` | `long` | Get maximum latency value (milliseconds) | | `getPlayerLatency(Player player)` | `long` | Get specified player's latency (milliseconds) |
## Project Structure
``` SyAPI/ ├── src/ │ └── main/ │ ├── java/cn/shiyuan/syapi/ │ │ ├── SyAPI.java # Main class │ │ ├── SyAPIProvider.java # API provider │ │ ├── StatsManager.java # Statistics manager │ │ ├── PlayerListener.java # Player event listener │ │ └── SyAPICommand.java # Command handler │ └── resources/ │ ├── plugin.yml # Plugin configuration │ └── data.yml # Data storage ├── pom.xml # Maven configuration └── README.md # Documentation ```
## Permission Nodes
| Permission | Description | Default | |------------|-------------|---------| | `syapi.admin` | Admin permissions (reload, etc.) | OP | | `syapi.use` | Usage permissions (view statistics) | All players |
## Data Storage
The plugin uses YAML files to store data, located at `plugins/SyAPI/data.yml`:
- `total-join-count`: Total login count
- `max-online-players`: Historical maximum online players
- `yesterday-join-count`: Yesterday's login count
- `today-join-count`: Today's login count (automatically resets daily)
- `current-date`: Current date
- `yesterday-players`: Yesterday's player UUID list
## Scheduled Tasks
The plugin automatically runs the following scheduled tasks after startup:
- TPS Monitoring: Updates minimum TPS every second
- Latency Update: Updates player latency data every second
- Date Check: Checks for date changes every minute, automatically resets today's statistics
- Data Save: Automatically saves data to file every 5 minutes
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- Shiyuan
- Version
- 1.0.0
- Downloads
- 31
- Endorsements
- 1
- Category
- management
- Created
- 4/3/2026
- Updated
- 4/3/2026
- Game Versions
- 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4
- Tags
- management, utility
🔧 How to Install Minecraft Plugins Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Plugins →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Plugins versions does SyAPI support?
The author lists 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5. Other versions may work but are untested by the author.
What is the latest version of SyAPI?
Version 1.0.0, published 2026-04-03 with 31 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await