All Projects â†’ timvisee â†’ lazymc

timvisee / lazymc

Licence: GPL-3.0 license
💤 Put your Minecraft server to rest when idle.

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to lazymc

Gate
A high performant & paralleled Minecraft proxy server with scalability, flexibility & excellent server version support - ready for the cloud!
Stars: ✭ 102 (-69.09%)
Mutual labels:  minecraft-server
Worldborder
Bukkit plugin for maintaining borders for your worlds to limit their sizes, as well as generating missing chunks or trimming excess chunks.
Stars: ✭ 131 (-60.3%)
Mutual labels:  minecraft-server
Gomint
GoMint is a modern Minecraft Bedrock Edition server enabling you to make your visions come true
Stars: ✭ 208 (-36.97%)
Mutual labels:  minecraft-server
Mcex
Minecraft server written in Elixir
Stars: ✭ 109 (-66.97%)
Mutual labels:  minecraft-server
Balena Minecraft Server
Build a Minecraft Server using a Raspberry Pi 4! Supports common Servers, SCP, RCON and Wifi Connect.
Stars: ✭ 125 (-62.12%)
Mutual labels:  minecraft-server
Gamocosm
Honest Minecraft server hosting
Stars: ✭ 139 (-57.88%)
Mutual labels:  minecraft-server
Obsidian
[WIP] A C# implementation of the Minecraft server protocol. (.NET 5)
Stars: ✭ 89 (-73.03%)
Mutual labels:  minecraft-server
SwiftMC
A Minecraft server and proxy written from scratch in Swift.
Stars: ✭ 22 (-93.33%)
Mutual labels:  minecraft-server
Catserver
Spiritual inheritance of mcpc+/thermos/Cauldron, full support spigot/sponge/forge/bukkit/paper API
Stars: ✭ 127 (-61.52%)
Mutual labels:  minecraft-server
Pocketmine Mp
A server software for Minecraft: Bedrock Edition in PHP
Stars: ✭ 2,594 (+686.06%)
Mutual labels:  minecraft-server
Magicplugin
A Bukkit plugin for spells, wands and other magic
Stars: ✭ 110 (-66.67%)
Mutual labels:  minecraft-server
Cloudnet V3
CloudNet v3 is the next generation of Minecraft Java and Bedrock cloud systems
Stars: ✭ 124 (-62.42%)
Mutual labels:  minecraft-server
Minecraft Prometheus Exporter
A Bukkit plugin which exports minecraft server stats to Prometheus
Stars: ✭ 150 (-54.55%)
Mutual labels:  minecraft-server
Server
Cloudburst Server is a Bedrock first server software. Originally forked from Cloudburst Nukkit.
Stars: ✭ 107 (-67.58%)
Mutual labels:  minecraft-server
Docker Minecraft Server
Docker image that provides a Minecraft Server that will automatically download selected version at startup
Stars: ✭ 3,642 (+1003.64%)
Mutual labels:  minecraft-server
Glowstone
A fast, customizable and compatible open source server for Minecraft: Java Edition
Stars: ✭ 1,364 (+313.33%)
Mutual labels:  minecraft-server
Cleanstone
Springboot based Minecraft Server
Stars: ✭ 133 (-59.7%)
Mutual labels:  minecraft-server
mc-server-wrapper
Lightweight Minecraft server wrapper binary for Discord chat bridge + enhanced management tools
Stars: ✭ 17 (-94.85%)
Mutual labels:  minecraft-server
Sponge
The SpongeAPI implementation targeting vanilla Minecraft and 3rd party platforms.
Stars: ✭ 241 (-26.97%)
Mutual labels:  minecraft-server
Minestat
📈 A Minecraft server status checker
Stars: ✭ 168 (-49.09%)
Mutual labels:  minecraft-server

Build status on GitLab CI Project license

lazymc

lazymc puts your Minecraft server to rest when idle, and wakes it up when players connect.

Some Minecraft servers (especially modded) use an insane amount of resources when nobody is playing. lazymc helps by stopping your server when idle, until a player connects again.

lazymc functions as proxy between clients and the server. It handles all incoming status connections until the server is started and then transparently relays/proxies the rest. All without them noticing.

Click to see screenshots

Sleeping server Join sleeping server Starting server Started server

Features

  • Very efficient, lightweight & low-profile (~3KB RAM)
  • Supports Minecraft Java Edition 1.7.2+, supports modded (e.g. Forge, FTB)
  • Configure joining client occupation methods:
    • Hold: hold clients when server starts, relay when ready, without them noticing
    • Kick: kick clients when server starts, with a starting message
    • Forward: forward client to another IP when server starts
    • Lobby: keep client in emulated server with lobby world, teleport to real server when ready (experimental*)
  • Customizable MOTD and login messages
  • Automatically manages server.properties (host, port and RCON settings)
  • Automatically block banned IPs from server within lazymc
  • Graceful server sleep/shutdown through RCON or SIGTERM
  • Real client IP on Minecraft server with PROXY header (usage)
  • Restart server on crash
  • Lockout mode

Requirements

  • Linux, macOS or Windows
  • Minecraft Java Edition 1.6+
  • On Windows: RCON (automatically managed)

Build requirements:

  • Rust 1.64 (MSRV)

Note: You must have access to the system to run the lazymc binary. If you're using a Minecraft shared hosting provider with a custom dashboard, you likely won't be able to set this up.

Usage

Note: these instructions are for Linux & macOS, for Windows look here.

Make sure you meet all requirements.

Download the appropriate binary for your system from the latest release page. On macOS you must compile from source.

Place the binary in your Minecraft server directory, rename it if you like. Open a terminal, go to the directory, and make sure you can invoke it:

chmod a+x ./lazymc
./lazymc --help

When lazymc is set-up, change into your server directory if you haven't already. Then set up the configuration and start it up:

# Change into your server directory (if you haven't already)
cd server

# Generate lazymc configuration
lazymc config generate

# Edit configuration
# Set the correct server address, directory and start command
nano lazymc.toml

# Start lazymc
lazymc start

Please see extras for recommendations and additional things to set up (e.g. how to fix incorrect client IPs and IP banning on your server).

After you've read through the extras, everything should now be ready to go! Connect with your Minecraft client to wake your server up!

Note: If a binary for your system isn't provided, please compile from source. Installation options are limited at this moment. More will be added later.

Compile from source

Make sure you meet all requirements.

To compile from source you need Rust, install it through rustup: https://rustup.rs/

When Rust is installed, compile and install lazymc from this git repository directly:

# Compile and install lazymc from source
cargo install -f --git https://github.com/timvisee/lazymc

# Ensure lazymc works
lazymc --help

Or clone the repository and build it yourself:

# Clone repository
git clone https://github.com/timvisee/lazymc
cd lazymc

# Compile
cargo build --release

# Run lazymc
./target/release/lazymc --help

Third-party usage & implementations

A list of third-party implementations, projects using lazymc, that you might find useful:

License

This project is released under the GNU GPL-3.0 license. Check out the LICENSE file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].