{"id":13611775,"url":"https://github.com/timvisee/lazymc","last_synced_at":"2025-04-04T06:09:57.950Z","repository":{"id":38330167,"uuid":"425599966","full_name":"timvisee/lazymc","owner":"timvisee","description":"💤 Put your Minecraft server to rest when idle.","archived":false,"fork":false,"pushed_at":"2024-07-29T22:32:14.000Z","size":5517,"stargazers_count":649,"open_issues_count":38,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T05:13:37.740Z","etag":null,"topics":["hacktoberfest","idle","minecraft","minecraft-server","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timvisee.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["timvisee"],"custom":["https://timvisee.com/donate"],"patreon":"timvisee","ko_fi":"timvisee"}},"created_at":"2021-11-07T19:45:00.000Z","updated_at":"2025-03-25T22:28:15.000Z","dependencies_parsed_at":"2023-10-14T15:25:31.322Z","dependency_job_id":"cec19d10-95eb-4ba3-81d8-d2a47e14e86e","html_url":"https://github.com/timvisee/lazymc","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Flazymc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Flazymc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Flazymc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Flazymc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timvisee","download_url":"https://codeload.github.com/timvisee/lazymc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128753,"owners_count":20888235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","idle","minecraft","minecraft-server","rust"],"created_at":"2024-08-01T19:02:06.744Z","updated_at":"2025-04-04T06:09:57.893Z","avatar_url":"https://github.com/timvisee.png","language":"Rust","funding_links":["https://github.com/sponsors/timvisee","https://timvisee.com/donate","https://patreon.com/timvisee","https://ko-fi.com/timvisee"],"categories":["Rust"],"sub_categories":[],"readme":"[![Build status on GitLab CI][gitlab-ci-master-badge]][gitlab-ci-link]\n[![Project license][license-badge]](LICENSE)\n\n[gitlab-ci-link]: https://gitlab.com/timvisee/lazymc/pipelines\n[gitlab-ci-master-badge]: https://gitlab.com/timvisee/lazymc/badges/master/pipeline.svg\n[license-badge]: https://img.shields.io/github/license/timvisee/lazymc\n\n# lazymc\n\n`lazymc` puts your Minecraft server to rest when idle, and wakes it up when\nplayers connect.\n\nSome Minecraft servers (especially modded) use an insane amount of resources\nwhen nobody is playing. lazymc helps by stopping your server when idle, until a\nplayer connects again.\n\nlazymc functions as proxy between clients and the server. It handles all\nincoming status connections until the server is started and then transparently\nrelays/proxies the rest. All without them noticing.\n\nhttps://user-images.githubusercontent.com/856222/141378688-882082be-9efa-4cfe-81cc-5a7ab8b8e86b.mp4\n\n\n\u003cdetails\u003e\u003csummary\u003eClick to see screenshots\u003c/summary\u003e\n\u003cp\u003e\n\n![Sleeping server](./res/screenshot/sleeping.png)\n![Join sleeping server](./res/screenshot/join.png)\n![Starting server](./res/screenshot/starting.png)\n![Started server](./res/screenshot/started.png)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n## Features\n\n- Very efficient, lightweight \u0026 low-profile (~3KB RAM)\n- Supports Minecraft Java Edition 1.20.3+\n- Configure joining client occupation methods:\n  - Hold: hold clients when server starts, relay when ready, without them noticing\n  - Kick: kick clients when server starts, with a starting message\n  - Forward: forward client to another IP when server starts\n  - _Lobby: keep client in emulated server with lobby world, teleport to real server when ready ([experimental*](./docs/join-method-lobby.md))_\n- Customizable MOTD and login messages\n- Automatically manages `server.properties` (host, port and RCON settings)\n- Automatically block banned IPs from server within lazymc\n- Graceful server sleep/shutdown through RCON or `SIGTERM`\n- Real client IP on Minecraft server with `PROXY` header ([usage](./docs/proxy-ip.md))\n- Restart server on crash\n- Lockout mode\n\n## Requirements\n\n- Linux, macOS or Windows\n- Minecraft Java Edition 1.6+\n- On Windows: RCON (automatically managed)\n\nBuild requirements:\n\n- Rust 1.74 (MSRV)\n\n_Note: You must have access to the system to run the `lazymc` binary. If you're\nusing a Minecraft shared hosting provider with a custom dashboard, you likely\nwon't be able to set this up._\n\n## Usage\n\n_Note: these instructions are for Linux \u0026 macOS, for Windows look\n[here](./docs/usage-windows.md)._\n\nMake sure you meet all [requirements](#requirements).\n\nDownload the appropriate binary for your system from the [latest\nrelease][latest-release] page. On macOS you must [compile from\nsource](#compile-from-source).\n\nPlace the binary in your Minecraft server directory, rename it if you like.\nOpen a terminal, go to the directory, and make sure you can invoke it:\n\n```bash\nchmod a+x ./lazymc\n./lazymc --help\n```\n\nWhen lazymc is set-up, change into your server directory if you haven't already.\nThen set up the [configuration](./res/lazymc.toml) and start it up:\n\n```bash\n# Change into your server directory (if you haven't already)\ncd server\n\n# Generate lazymc configuration\nlazymc config generate\n\n# Edit configuration\n# Set the correct server address, directory and start command\nnano lazymc.toml\n\n# Start lazymc\nlazymc start\n```\n\nPlease see [extras](./docs/extras.md) for recommendations and additional things\nto set up (e.g. how to fix incorrect client IPs and IP banning on your server).\n\nAfter you've read through the [extras](./docs/extras.md), everything should now\nbe ready to go! Connect with your Minecraft client to wake your server up!\n\n_Note: If a binary for your system isn't provided, please [compile from\nsource](#compile-from-source). Installation options are limited at this moment. More will be added\nlater._\n\n[latest-release]: https://github.com/timvisee/lazymc/releases/latest\n\n## Compile from source\n\nMake sure you meet all [requirements](#requirements).\n\nTo compile from source you need Rust, install it through `rustup`: https://rustup.rs/\n\nWhen Rust is installed, compile and install `lazymc` from this git repository\ndirectly:\n\n```bash\n# Compile and install lazymc from source\ncargo install -f --git https://github.com/timvisee/lazymc\n\n# Ensure lazymc works\nlazymc --help\n```\n\nOr clone the repository and build it yourself:\n\n```bash\n# Clone repository\ngit clone https://github.com/timvisee/lazymc\ncd lazymc\n\n# Compile\ncargo build --release\n\n# Run lazymc\n./target/release/lazymc --help\n```\n\n## Third-party usage \u0026 implementations\n\nA list of third-party implementations, projects using lazymc, that you might\nfind useful:\n\n- Docker: [crbanman/papermc-lazymc](https://hub.docker.com/r/crbanman/papermc-lazymc) _(PaperMC with lazymc in Docker)_\n\n## License\n\nThis project is released under the GNU GPL-3.0 license.\nCheck out the [LICENSE](LICENSE) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimvisee%2Flazymc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimvisee%2Flazymc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimvisee%2Flazymc/lists"}