Skip to content

hasirciogluhq/EasyMcAdmin

Repository files navigation

EasyMcAdmin Logo

🚀 EasyMcAdmin Plugin

Modern, open-source Minecraft server management – easy, powerful, beautiful.

Release Java Gradle License


🧩 What is EasyMcAdmin?

EasyMcAdmin is a next-generation Minecraft server admin plugin for Bukkit / Spigot / Paper that lets you manage your server in a modern & secure way.
Control 👤 players, 🔐 permissions, 🖥️ console, and more – easily, securely, and remotely.


🚦 Features

  • 🛡️ Seamless admin panel integration for Bukkit / Spigot / Paper
  • 👮 Player management & moderation commands
  • 🪪 LuckPerms support for managing ranks / permissions
  • 🔐 Real-time, secure remote console access (RCON alternative)
  • ⚙️ Easy configuration via config.yml
  • 🧩 Extensible command system (make your own subcommands)
  • 💡 Fast, stable and production-ready

📦 Installation User

  1. ⬇️ Download the latest plugin JAR from Releases
  2. 📁 Place EasyMcAdmin-plugin.jar in your server's plugins/ folder
  3. 🚀 Start your server to generate the config files
  4. 🔑 Set your token using:
    / setToken <your-token-here>
  5. 📝 (Optional) Edit plugins/EasyMcAdmin/config.yml if needed
  6. 🔁 Reload or restart your server to apply changes

🛠️ Build & Install Source

Want to build from source? Use our slick scripts and Gradle setup for instant results!

🔑 Prerequisites

  • Java 17 (required)
  • ⚙️ Gradle 8.5+ (wrapper included, skip install)

⚡ Quick Install (macOS/Linux)

# 🌀 Clone the repo
git clone https://github.com/hasirciogluhq/EasyMcAdmin.git
cd EasyMcAdmin/apps/mc-plugin

# 🏗️ Build & deploy (auto-detects Java 17)
./build.sh

🪄 What build.sh does:

  • Finds and uses Java 17+
  • 💻 Builds via Gradle
  • 🚚 Deploys the JAR to your test server plugins folder (see deploy in build.gradle.kts)

Default deploy path:

/Users/hasircioglu/mc-server-1/servers/test/plugins


💡 Change this to match your own server folder!
Edit the target line in deploy inside build.gradle.kts.

🖐️ Manual Build Steps

Prefer Gradle directly?

# (Optional) Make sure JAVA_HOME is Java 17
export JAVA_HOME=$(/usr/libexec/java_home -v17)
./gradlew build       # 👷 Build plugin JAR (at build/libs/)
./gradlew deploy      # 🚀 Deploy as above

🎮 Example Usage

  1. 🟢 Start the Minecraft server
  2. 🔑 Set your panel/server token:
    /easymcadmin setToken <your-token>
    Example:
    /easymcadmin setToken f2ab3c4d5e6f70123456789abcdef0123456789abcdef01
        
  3. 🔗 Confirm backend connection in console/in-game
  4. 💡 Use /easymcadmin help for all commands

⚙️ Configuration

🔽 Example config.yml (click to expand)
# Core configuration
server:
  id: ""       # Auto-generated on first start, do not edit
  token: ""    # Set via in-game command ONLY
transport:
  enabled: true
  host: "localhost"
  port: 8798
  • server.id: 🔗 Unique server ID (auto-generated)
  • server.token: 🔑 Auth token, set using the command
  • transport: 📡 TCP config (defaults work out of the box)

No SQL or web config needed; just install the plugin and it's ready to use!

How authentication works

  • On the first start, a unique server id is generated automatically:
    serverId = getConfig().getString("server.id", "");
    // If empty, generate and save
    
  • Set your token only using the /easymcadmin setToken command in-game (do not edit manually!)

⌨️ Commands & Permissions

All actions use /easymcadmin (or /ema) plus subcommands.

📝 Command Reference

🕹️ Command 📄 Permission ℹ️ Description
/easymcadmin,ema help easymcadmin.use List all EasyMcAdmin commands
/easymcadmin,ema setToken <token> easymcadmin.admin Set backend authentication token

🔐 /easymcadmin setToken usage

  • Token must be at least 32 chars
  • Updates config & attempts connection instantly
  • Only users with easymcadmin.admin may run it

🥇 Example LuckPerms Setup

/lp user YourName permission set easymcadmin.admin true

🧠 Command System Overview

  • Ana komut: /easymcadmin
  • Alt komutlar şu şekilde eklenir:
    registerSubCommand("setToken", new SetTokenSubCommand(plugin));
    
  • Her alt komut için izin tanımlanabilir:
    @Override
    public String getPermission() { return "easymcadmin.admin"; }
  • Ana komut otomatik olarak izinleri kontrol eder.
  • Tüm yapılandırma eklenti tarafından yönetilir; sadece token'ı girmeniz yeterlidir!

💎 Usage Highlights

  • ✨ After initial setup, use /easymcadmin help to see everything!
  • 🏆 LuckPerms integration – permission/rank changes are seamless.
  • 🖥️ Console output, logs, event tracking – handled automatically!

🤝 Contributing

Issues  Pull Requests

Pull requests & feature ideas are always welcome!
See CONTRIBUTING.md for guidelines.


⚖️ License

📝 Licensed under GNU Affero GPL v3.0 (with Commercial Exception)
See LICENSE for full details.


🖌️ Branding & Credits

EasyMcAdmin is a trademark of HasirciogluHQ / PhineUp LLC.
You may not use the name or logo without permission.


Thank you for choosing EasyMcAdmin!
GitHub stars
If you like it, ⭐️ star or contribute!

Sponsor this project

 

Packages

No packages published