Skip to content
This repository has been archived by the owner on Jul 23, 2021. It is now read-only.

tycrek-archive/McServerman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

McServerman

A web-based GUI for managing Minecraft servers

I created this because I'm annoyed with managing my various servers through the command line. I'm also quarantined for COVID-19 and I am bored. For now I'm only planning to add support for Vanilla and PaperMC servers. If there is interest I may add more in the future (such as Bedrock or Pixelmon).

If you like this project, consider donating. I do all this in my spare time without making any profit so anything is appreciated!

  • Current version: 0.1.0a
  • Next version 0.2.0a

Features

Creating Minecraft servers

Managing Minecraft servers

  • ✔️ Manage multiple servers
  • ✔️ GUI server.properties editor with explanations & recommended settings
  • ✔️ Start/stop servers (even after McServerman has restarted!)
  • ✔️ Restart servers
  • ✔️ Delete servers
  • ✔️ Run Jar using Java 8 JRE
  • ❌ Install & manage plugins (PaperMC/Spigot)
  • ❌ Download Java 8 JRE for best compatibility

World management

  • ✔️ Upload existing worlds
  • ✔️ Download active world (currently downloads entire server)
  • ❌ Backup/Restore (not the same as download/upload: these are server-side restore points) (Required for 0.2.0a release)
  • ❌ Regenerate world (i.e. erase current world and start a new one) (Required for 0.2.0a release)
  • ❌ World switching (example: switching between a parkour map and a survival map) (Required for 0.2.0a release)
  • ❌ Create new worlds with option to set custom seeds
  • ❌ Upgrade for new versions (example: 1.12 -> 1.13). See here and here for notes on the --forceUpgrade flag.

Player operations

  • ✔️ Whitelist
  • ✔️ "Op" and "Deop"
  • ✔️ Bans (player and IP)
  • ✔️ Run the above functions before players have ever joined using player UUID's
  • ❌ List all players who have previously joined and run the above functions on them (Required for 0.2.0a release)
  • ❌ Player permissions

Statistics

  • ❌ System & server uptime
  • ❌ System & server resource usage (monitor & historical data)
  • ❌ World size (including growth over time)
  • ❌ Graphs!
  • ❌ Player statistics (# of joins; average playtime; etc.)
  • ❌ Insights (Interesting tidbits on existing statistics)

Alerts

  • ❌ Email or SMS
  • ❌ Server crashes
  • ❌ Heavy resource usage/lag
  • ❌ Player alerts (join, auto-kick, etc.)
  • ❌ Backup tasks

Awesome stuff

  • ❌ password authentication
  • OAuth authentication (maybe)
  • ❌ Decent Wiki pages (installation, usage, etc.)
  • ❌ Automatically set up systemd on Linux for McServerman
  • ❌ Auto port-forward with UPnP (or a guide on port forwarding)
  • ❌ Web console with RCON (RCON is working; however Web console is not added yet!)
  • ❌ Mobile-friendly version
  • Progressive Web APP (PWA)
  • ❌ Run using paperd on Unix systems

Installation

Requirements

  • Supported OS:
    • Linux - Recommended
    • Windows - Experimental
    • macOS - Not supported but probably works
  • Latest LTS Node.js (verified working with Node 13.12, but others may work as well)
  • Also ensure both NPM & Git are installed and working
  • Preferably at least 8GB RAM (for the Minecraft server; McServerman alone runs on a potato)
  • Java 8 64-bit (will not run on 32-bit. 32-bit support will not be added due to RAM limitations)
  • Command line experience is very helpful

Installation

Linux (Windows/macOS probably work with this as well)

$ git clone https://github.com/tycrek/McServerman.git
$ cd McServerman/
$ npm i
$ node app.js

If all goes as planned, you should see: Server hosted on 0.0.0.0:7767

Usage

  1. After running node app.js, open your browser and navigate to: localhost:7767
  2. If this is the first time the app is run, you will be greeted with the setup page (import coming soon).
    1. Select Server type
    2. Select desired Game version
    3. Name your server
    4. Click Create server and wait
  3. After the first server has been created, the homepage will be a list of your servers. To manage a server, click the View button for that server.
  4. The server dashboard page lists if the server is online or offline; number of connected (and maximum) players; and other helpful information.
  5. Start the server by selecting Start/Stop. It is important that you wait for the Status indicator to show "Online" before stopping the server or attempting to start it again (this will be improved in the future).
  6. You can edit the server.properties file from the server dashboard. Make sure you click Save changes once you have made your edits.
    • Note: In order for McServerman to function optimally, it will force enable enable-query and enable-rcon. Make sure you set rcon.password, otherwise you may not be able to safely stop the server and you could lose data! If you do not set rcon.password, McServerman will create one for you.
  7. You can also add/remove players from the server whitelist in the table below the properties table. Make sure to also enable the whitelist in server.properties. To use the updated whitelist, restart your Minecraft server.
  8. To stop McServerman, go to the console or terminal where you ran node app.js and press CTRL+C on your keyboard. Any active Minecraft servers will stay active, so this is usually safe.

Supported Minecraft versions

Assume all versions include patch unless specified. i.e. 1.15 includes 1.15.2, etc.

  • All features tested and confirmed working or stable. Even so, take this with a grain of salt until McServerman as a whole is stable.
  • Briefly tested but might have problems. Use at your own risk.
  • Tested and known to not work.
  • Not tested. Unconfirmed if anything works.
Version Vanilla Paper
1.16
1.15
1.14
1.13
1.12
1.11
1.10
1.9
1.8
1.7 & below

Limitations

  1. Development is slow because I get distracted easily.
  2. Currently only works on Linux. macOS and Windows support will probably need to be done by other developers as I don't own either system. Update: Basic Windows support is now available
  3. 32-bit operating systems and Java are not supported. This is on purpose. Buy a new computer if this is a problem.

Contributing

Some stuff that would be really helpful to me:

  1. New features
  2. Code cleanup
  3. Security improvements
  4. Bug fixes
  5. Translations?

Acknowledgements

The name "McServerman"

I thought it would be funny because it sounds like "McDonalds". The full name is "Minecraft Server Manager".

Hotel?

Trivago.

About

A web-based GUI for managing Minecraft servers

Resources

License

Stars

Watchers

Forks

Packages

No packages published