• Stars
    star
    571
  • Rank 78,127 (Top 2 %)
  • Language
    Rust
  • License
    GNU General Publi...
  • Created about 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

💤 Put your Minecraft server to rest when idle.

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.

lazymc-demo.mp4
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.

More Repositories

1

ffsend

📬 Easily and securely share files from the command line. A fully featured Firefox Send client.
Rust
6,600
star
2

send-instances

🌍 A list of public Send instances. Mirror.
719
star
3

advent-of-code-2021

🎄 My Advent of Code solutions in Rust. http://adventofcode.com/2021
Rust
241
star
4

prs

🔐 A secure, fast & convenient password manager CLI using GPG and git to sync.
Rust
208
star
5

advent-of-code-2022

🎄 My Advent of Code solutions in Rust. http://adventofcode.com/2022
Rust
162
star
6

send-docker-compose

☁️ Basic Docker compose configuration for Send. https://gitlab.com/timvisee/send-docker-compose
Shell
122
star
7

advent-of-code-2020

🎄 My Advent of Code solutions in Rust. http://adventofcode.com/2020
Rust
119
star
8

apbf

Tool to brute force Android security pattern through TWRP recovery. https://gitlab.com/timvisee/apbf
Rust
107
star
9

ffsend-api

📬 A fully featured Firefox Send API client written in Rust.
Rust
87
star
10

advent-of-code-2023

🎄 My Advent of Code solutions in Rust. http://adventofcode.com/2023
Rust
85
star
11

pixelpwnr

🎆 Insanely fast pixelflut client for images and animations written in Rust.
Rust
53
star
12

qr2term-rs

📊 Stupidly simple Rust crate to render a QR code in the terminal.
Rust
50
star
13

pixelpwnr-server

🎆 Blazingly fast GPU accelerated pixelflut server written in Rust.
Rust
45
star
14

version-compare

↔️ Rust library to easily compare version strings. Mirror from https://gitlab.com/timvisee/version-compare
Rust
39
star
15

dungeon-maze

:goberserk: DungeonMaze Craft Bukkit plugin - An amazing world generator for Bukkit and Spigot
Java
27
star
16

docker-compose-mssql

🐳 Docker configuration for an Microsoft SQL server on Linux using docker-compose
Shell
22
star
17

dotfiles

:octocat: Tim does dotfiles
Vim Script
21
star
18

copypasta-ext

📋 Useful extensions for the Rust copypasta crate.
Rust
17
star
19

raytrace-rs

🔮 A ray tracer in Rust.
Rust
12
star
20

barbapappa

🍹 Bar management application to manage transactions and inventory. Mirror from https://gitlab.com/timvisee/barbapappa
PHP
12
star
21

steam-rp2g

Remote Play Together any Steam game.
Rust
9
star
22

pixelpwnr-render

🎆 Blazingly fast GPU accelerated pixelflut renderer written in Rust.
Rust
9
star
23

wikitrans

📜 Super simple CLI tool for translating words/terms using Wikipedia. https://gitlab.com/timvisee/wikitrans
Rust
9
star
24

pixelpwnr-cast

📺 Insanely fast pixelflut client to cast your screen written in Rust.
Rust
9
star
25

rust-clipboard-ext

📋 Useful extensions for the rust-clipboard library.
Rust
8
star
26

timvisee.com

🌐 Source code for my personal website, mirror from https://gitlab.com/timvisee/timvisee.com
SCSS
7
star
27

yaml-wrapper

A YAML wrapper for Java to make it much easier to use these configuration files
Java
7
star
28

wrdcntr

💨 A simple yet very fast word counter witten in Rust
Rust
7
star
29

key-barricade

🔑 A Java based game engine using OpenGL, game implementation example.
Java
6
star
30

advent-of-code-2019

🎄 My Advent of Code solutions in Rust. http://adventofcode.com/2019
Rust
6
star
31

voxeltex-engine

🔮 A Java based game engine using OpenGL
Java
6
star
32

update-proton-ge

A script to update your Proton GloriousEggroll installation. Mirror from https://gitlab.com/timvisee/update-proton-ge
Shell
5
star
33

safe-creeper

🔧 Safe Creeper Craft Bukkit plugin
Java
5
star
34

ban-binance-bot

🤖 A bot to ban Binance advertising bots in public Telegram chats. https://gitlab.com/timvisee/ban-binance-bot
Rust
5
star
35

merge-mania

Merge Mania game. Mirror from https://gitlab.com/timvisee/merge-mania
Rust
5
star
36

dworek

🎲 Create virtual drug labs in real-world locations with your cartel. Conquer labs owned by other cartels to become the drug production MVP.
JavaScript
4
star
37

cv

Personal curriculum vitae. Mirror from https://gitlab.com/timvisee/cv
TeX
4
star
38

pokoebox

🔉 A portable boombox with media center project. Mirror of https://gitlab.com/timvisee/pokoebox
Rust
4
star
39

HhsBigJava

Java
3
star
40

i3lock-slick

🔏 A CLI tool to easily make i3lock look slick.
Rust
3
star
41

aivd-kerstpuzzel-2021-18-solver

🎄 Solver for the AIVD kerstpuzzle 2021 #18.
Rust
3
star
42

NumberGuessGame

The Number Guess Game. An Arduino HHS challenge.
CMake
3
star
43

hhs-p6-webshop-project

C#/ASP.NET webshop collaboration project for college (HHS) period 6.
C#
3
star
44

chbs

🎲 A crate providing secure passphrase generation based on a wordlist, mirror from https://gitlab.com/timvisee/chbs
Rust
3
star
45

took-rs

⌚ Easily measure & report elapsed time in Rust. https://gitlab.com/timvisee/took-rs
Rust
3
star
46

git-state

🧪 Probe git repository state
Rust
3
star
47

arduino-universal-led-strip-driver

🚥 An universal LED strip driver for Arduino that is easy to use, and allows features like animators.
CMake
3
star
48

hhs-p7-movie-recommendation-engine

🎥 Big data project for college (HHS) period 7
Jupyter Notebook
3
star
49

HhsArduinoCircuitAdvanced

The Arduino "circuit" project, as challange of the HHS, for MingYan Li. This is an advanced version, with object and library usage to improve the overall quality.
CMake
2
star
50

BlackBox-Backup

BlackBox Backup, the right way. Backing up data as easy as loosing it.
Java
2
star
51

notes-toolbox

Toolbox project for compiling notes into PDF's, slides and some other formats!
Rust
2
star
52

DungeonMazeApiExample

A Dungeon Maze API Example plugin
Java
2
star
53

tty-read-rs

Read raw real-time input from the terminal in Rust
Rust
2
star
54

LoopSolver

Solver for the Loop mobile game.
Java
2
star
55

TestTheTeacher

TestTheTeacher
Java
2
star
56

CarbonCMS-Old

Carbon CMS
PHP
2
star
57

OVRally

PHP
2
star
58

pokoebox-distro

🔉 PokoeOS Linux distro for PokoeBox: A portable boombox with media center project. Mirror of https://gitlab.com/timvisee/pokoebox-distro
Shell
2
star
59

simple-survival-games

A simple to use Survival Games plugin for Minecraft Bukkit Servers.
Java
2
star
60

HhsArduinoCircuit

The Arduino "circuit" project, as challange of the HHS, for MingYan Li. This is a fairly basic version of the project to keep everything nice and simple.
CMake
2
star
61

Manager

Permissions and Economy manager for bukkit plugins
Java
2
star
62

ProAmp

C++
2
star
63

lumber-bot

🎲 Simple lumber game bot.
Java
2
star
64

vigenere-cipher-simple

🔓 A simple attempt at solving a vigenère ciphertext, mirror from https://gitlab.com/timvisee/vigenere-cipher-simple
Rust
2
star
65

GlowstoneLanterns

Glowstone Lanterns Bukkit plugin
Java
2
star
66

qdrant-tools

A collection of personal Qdrant tools
Shell
1
star
67

Projectify

1
star
68

Frogger

Frogger, a practical computer science project.
C++
1
star
69

DungeonMazeApiTest

DungeonMaze Api Test, for the Dungeon Maze Craft Bukkit plugin - An amazing world generator for bukkit
Java
1
star
70

peperone

A stupidly simple command-line stopwatch.
Rust
1
star
71

ScreepsAI

JavaScript
1
star
72

MinecraftRunner

A custom Minecraft Launcher
Java
1
star
73

DragonRealmsCore

Dragon Realms core plugin
Java
1
star
74

advent-of-code-2017

My go on the advent of code challenge in 2017.
Rust
1
star
75

TVNLib

TVNLib CraftBukkit plugin
Java
1
star
76

leap-rs

Rust
1
star
77

got-team49-public

Public mirror of gameoftrades/got-team49 repository
Java
1
star
78

SimpleShowcase

Simple Showcase Craft Bukkit plugin for Minecraft Bukkit servers
Java
1
star
79

risc-bot

🤖 A Telegram bot by Tim Visée for useful actions, mirror from https://gitlab.com/timvisee/risc-bot
Rust
1
star
80

CarbonCore

Repository placeholder for Carbon Core
1
star
81

docker-compose-mongodb

🐳 Docker configuration for a MongoDB server on Linux using docker-compose
Shell
1
star
82

world-portal

WorldPortal plugin for CraftBukkit/Spigot: Create portals using signs, pressure plates, buttons and more!
Java
1
star
83

MohicanenPieGuesser

A pie (baked dish) weight guesser application, for the Mohicanen.
CSS
1
star
84

beamer-controller

Simple application to remotely control a beamer.
Java
1
star
85

ExplorersOvergang2013App

Explorers Overgang 2013 App
C
1
star
86

custom-skulls

Let mobs and players drop their skulls!
Java
1
star
87

docker-compose-factorio-server

🐳 A simple Docker container to deploy a Factorio headless server.
Shell
1
star
88

DynAmbi-Firmware

Firmware for dynamic ambientlight controller on an Arduino.
CMake
1
star
89

hhs-p6-cs-programming

C# Programming exercises for college (HHS) period 6.
C#
1
star
90

ProgrammingHHS

Programming challengens Haagse Hogeschool
Java
1
star
91

DynAmbi-ControlPanel

Java
1
star
92

CarbonCMS

Carbon CMS - http://carboncms.nl/
PHP
1
star
93

QuizScouting

PHP
1
star
94

Chameleon

Chameleon, a Template Engine for Carbon CMS
PHP
1
star
95

AxiomOne

An Android Wear watchface.
Java
1
star
96

hhs-p7-database-project

1
star
97

ShitheadPro

A digital version of the popular Shithead card game.
1
star
98

brainfuck-rs-quick

A quick Brainfuck interpreter in Rust
Rust
1
star
99

VBFPieGuesser

A pie (baked dish) weight guesser application, for the VBF.
CSS
1
star
100

lan-cache

Shell
1
star