Skip to content
This repository has been archived by the owner on Feb 2, 2024. It is now read-only.

Commit

Permalink
updated readme, new sections!
Browse files Browse the repository at this point in the history
  • Loading branch information
Okazakee committed Jan 24, 2023
1 parent de84d76 commit d37dae8
Showing 1 changed file with 33 additions and 26 deletions.
59 changes: 33 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
# Minecraft Servers w/ `lazymc` using Docker
This is a Linux Docker image for creating Minecraft servers with `lazymc`.

[lazymc](https://github.com/timvisee/lazymc) is a utility that puts your Minecraft server to rest when idle and wakes it up when players try to connect. This allows the server to not waste resources if nobody is connected.
[lazymc](https://github.com/timvisee/lazymc) is a utility that puts your Minecraft server to rest when idle and wakes it up when players try to connect.
This allows the server to not waste resources if nobody is connected.

This image provides a basic PaperMC (or alternatives) server. All customizations are left to the user.
This image provides a basic Minecraft server using one of the supported providers. All customizations are left to the user.

# To do:
- [x] Add Docker Compose section in this README.
- [x] Do not trgger github actions when README or actions yml get pushed.
- [x] Push updated README to Dockerhub Repo.
- [x] Better logging, remove useless console outputs and give the user clear and clean messages of what is going on.
- [x] Replace Openjdk with Temurin -> reduced docker image size by 57.52%!
- [ ] Support for more server providers.
- [ ] Vanilla Support.
- [ ] Fabric Support.
- [ ] Pufferfish Support.
- [ ] Arclight Support.
- [ ] Automatically update server variables inside lazymc.toml.
- [ ] Add flag to disable lazymc.
- [ ] Fix builds fetch if latest is not selected.
- [ ] Build a webpage for the project.
- [ ] Automatically update server variables inside lazymc.toml:
- [x] Jar startup command.
- [ ] MC ports for lazymc proxy.
- [ ] MC version.
Expand All @@ -25,8 +24,15 @@ This image provides a basic PaperMC (or alternatives) server. All customizations
- [ ] MOTDs for sleeping/starting/stopping states.
- [ ] Client messages for starting/stopping states.
- [ ] Rcon values.
- [ ] Add flag to disable lazymc.
- [ ] Build a webpage for the project.

# Supported server providers:
- [x] Vanilla
- [x] Paper
- [x] Purpur
- [x] Pufferfish
- [x] Fabric
- [ ] Arclight
- [ ] Bukkit

# Usage
It is assumed that the user has already acquired a working Docker installation. If that is not the case, go do that and come back here when you're done.
Expand All @@ -35,8 +41,6 @@ With this image, you can create a new PaperMC (or alternatives) Minecraft server

`Note that running said command or docker compose indicates agreement to the Minecraft EULA.`

### Here is an example:

## Using docker run:
```bash
sudo docker run -p 25565:25565 -e CPU_ARCHITECTURE="<your_cpu_arch>" okazakee/mcserver-lazymc-docker
Expand Down Expand Up @@ -65,7 +69,6 @@ services:
image: okazakee/mcserver-lazymc-docker:<latest/staging>
```
## Options
There are several command line options that users may want to specify when utilizing this image. These options are listed below with some brief explanation. An example will be provided with each. In the example, the part that the user can change will be surrounded by angle brackets (`< >`). Remember to *remove the angle brackets* before running the command.
- Port
Expand Down Expand Up @@ -103,18 +106,22 @@ Environment variables are options that are specified in the format `-e <NAME>="<
Mandatory `ENV` fields will have a `*` after their name.

This image has seven environment variables:
- Server Provider
- **Name:** `SERVER_PROVIDER`
- Set this to the server provider you want to use.
- Selectable providers are: `paper`, `purpur`.
- Default value: `paper`.
- `-e SERVER_PROVIDER="<paper>"`
- CPU Architecture *
- **Name:** `CPU_ARCHITECTURE`
- Set this to the cpu architecture you want to use.
- Selectable architectures are: `x64`, `x64-static`, `aarch64`, `armv7`.
- Usable architectures are: `x64`, `x64-static`, `aarch64`, `armv7`.
- No default value for this, make sure to include it in the command.
- `-e CPU_ARCHITECTURE="<x64>"`
- Server Provider
- **Name:** `SERVER_PROVIDER`
- Set this to the server provider you want to use.
- Default value: `purpur`.
- `-e SERVER_PROVIDER="<paper>"`
- Lazymc Version
- **Name:** `LAZYMC_VERSION`
- Set this to the version of `lazymc` you want to use.
- If not set, the [latest release](https://github.com/timvisee/lazymc/releases/latest) will be used.
- `-e LAZYMC_VERSION="<latest>"`
- Minecraft Version
- **Name:** `MC_VERSION`
- Set this to the Minecraft version that the server should support.
Expand All @@ -128,11 +135,6 @@ This image has seven environment variables:
- If this is not set, the latest PaperMC (or alternatives) build for the specified `MC_VERSION` will be used.
- Changing this on an existing server will change the version *without wiping the server*.
- `-e SERVER_BUILD="<latest>"`
- Lazymc Version
- **Name:** `LAZYMC_VERSION`
- Set this to the version of `lazymc` you want to use.
- If not set, the [latest release](https://github.com/timvisee/lazymc/releases/latest) will be used.
- `-e LAZYMC_VERSION="<latest>"`
- RAM
- **Name:** `MC_RAM`
- Set this to the amount of RAM the server can use.
Expand All @@ -150,8 +152,13 @@ This image has seven environment variables:
From this point, the server should be configured in the same way as any other Minecraft server. The server's files, including `server.properties`, can be found in the volume that was specified earlier. The port that was specified earlier will probably need to be forwarded as well. For details on how to do this and other such configuration, Google it, because it works the same as any other Minecraft server.
### Suggested repo for optimizing your settings: [YouHaveTrouble/minecraft-optimization](https://github.com/YouHaveTrouble/minecraft-optimization)

## Thanks to:
- [ServerJars](serverjars.com) - They're API helped me a lot massively reducing my codebase size.
- [Timvisee](https://github.com/timvisee) - Lead developer of Lazymc.
- [Crbanman's Repo](https://github.com/crbanman/papermc-lazymc-docker) - Original fork on which this project is based of.
- [Contributors](https://github.com/Okazakee/mcserver-lazymc-docker/graphs/contributors) - Thanks to everybody who has or will help with this project.

# Technical
## Technical
This project *does **NOT** redistribute the Minecraft server files*.

**PLEASE NOTE:** This is an unofficial project. I did not create PaperMC or other providers.
Expand Down

0 comments on commit d37dae8

Please sign in to comment.