Merge branch 'main' of https://git.cyperpunk.de/Garde-Studios/minecraft-docker-server
This commit is contained in:
commit
70f1968305
1
development/.gitignore
vendored
Normal file
1
development/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/dev-proxy/proxy-data
|
39
development/README.md
Normal file
39
development/README.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Development Build
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> This setup is only for testing purposes.
|
||||||
|
> It is unsafe to use as a production build.
|
||||||
|
|
||||||
|
## Prerequisits
|
||||||
|
|
||||||
|
1. Check if `docker` & `docker compose` are installed correctly
|
||||||
|
2. Open 3 Terminal Windows (Or 2 depends on)
|
||||||
|
3. Change the ip in `velocity.toml` (Line 75 & 76) to your local ip (This gets reworked in the Future)
|
||||||
|
|
||||||
|
## To Do
|
||||||
|
- [ ] Build system for the whole dev stack
|
||||||
|
- [ ] Networking between Containers
|
||||||
|
|
||||||
|
## Handling the stack
|
||||||
|
|
||||||
|
1. Start Dev Proxy
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f dev-proxy/proxy-compose.yml up
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Start Dev Fallback
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f fallback-compose.yml up
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Start Dev Main
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f main-compose.yml up
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Start Minecraft with Version 1.21.1 (Fabric highly preferred)
|
||||||
|
5. Add Server -> Server Address -> `localhost`
|
||||||
|
6. Connect
|
BIN
development/dev-proxy/dev-server.png
Normal file
BIN
development/dev-proxy/dev-server.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
16
development/dev-proxy/proxy-compose.yml
Normal file
16
development/dev-proxy/proxy-compose.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
services:
|
||||||
|
proxy:
|
||||||
|
container_name: dev_proxy
|
||||||
|
image: itzg/mc-proxy
|
||||||
|
environment:
|
||||||
|
TYPE: VELOCITY
|
||||||
|
DEBUG: true
|
||||||
|
VELOCITY_VERSION: latest
|
||||||
|
VELOCITY_BUILD_ID: 450
|
||||||
|
volumes:
|
||||||
|
- ./dev-server.png:/server/server-icon.png
|
||||||
|
- ./velocity.toml:/config/velocity.toml
|
||||||
|
- ../../proxy/velocity/forwarding.secret:/config/forwarding.secret:ro
|
||||||
|
- ./proxy-data:/server
|
||||||
|
ports:
|
||||||
|
- 25565:25565
|
159
development/dev-proxy/velocity.toml
Normal file
159
development/dev-proxy/velocity.toml
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
# Config version. Do not change this
|
||||||
|
config-version = "2.7"
|
||||||
|
|
||||||
|
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25565.
|
||||||
|
bind = "0.0.0.0:25565"
|
||||||
|
|
||||||
|
# What should be the MOTD? This gets displayed when the player adds your server to
|
||||||
|
# their server list. Only MiniMessage format is accepted.
|
||||||
|
motd = "<dark_purple>Garde Studios</dark_purple> <red>DEVELOPMENT BUILD</red>"
|
||||||
|
|
||||||
|
# What should we display for the maximum number of players? (Velocity does not support a cap
|
||||||
|
# on the number of players online.)
|
||||||
|
show-max-players = 5
|
||||||
|
|
||||||
|
# Should we authenticate players with Mojang? By default, this is on.
|
||||||
|
online-mode = true
|
||||||
|
|
||||||
|
# Should the proxy enforce the new public key security standard? By default, this is on.
|
||||||
|
force-key-authentication = true
|
||||||
|
|
||||||
|
# If client's ISP/AS sent from this proxy is different from the one from Mojang's
|
||||||
|
# authentication server, the player is kicked. This disallows some VPN and proxy
|
||||||
|
# connections but is a weak form of protection.
|
||||||
|
prevent-client-proxy-connections = false
|
||||||
|
|
||||||
|
# Should we forward IP addresses and other data to backend servers?
|
||||||
|
# Available options:
|
||||||
|
# - "none": No forwarding will be done. All players will appear to be connecting
|
||||||
|
# from the proxy and will have offline-mode UUIDs.
|
||||||
|
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
|
||||||
|
# if you run servers using Minecraft 1.12 or lower.
|
||||||
|
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
|
||||||
|
# plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
|
||||||
|
# unable to implement network level firewalling (on a shared host).
|
||||||
|
# - "modern": Forward player IPs and UUIDs as part of the login process using
|
||||||
|
# Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
|
||||||
|
player-info-forwarding-mode = "modern"
|
||||||
|
|
||||||
|
# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
|
||||||
|
# The file is expected to be UTF-8 encoded and not empty.
|
||||||
|
forwarding-secret-file = "forwarding.secret"
|
||||||
|
|
||||||
|
# Announce whether or not your server supports Forge. If you run a modded server, we
|
||||||
|
# suggest turning this on.
|
||||||
|
#
|
||||||
|
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
|
||||||
|
# instead for a nicer display in the server list.
|
||||||
|
announce-forge = false
|
||||||
|
|
||||||
|
# If enabled (default is false) and the proxy is in online mode, Velocity will kick
|
||||||
|
# any existing player who is online if a duplicate connection attempt is made.
|
||||||
|
kick-existing-players = false
|
||||||
|
|
||||||
|
# Should Velocity pass server list ping requests to a backend server?
|
||||||
|
# Available options:
|
||||||
|
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
|
||||||
|
# will determine the initial server list ping response.
|
||||||
|
# - "mods": Passes only the mod list from your backend server into the response.
|
||||||
|
# The first server in your try list (or forced host) with a mod list will be
|
||||||
|
# used. If no backend servers can be contacted, Velocity won't display any
|
||||||
|
# mod information.
|
||||||
|
# - "description": Uses the description and mod list from the backend server. The first
|
||||||
|
# server in the try (or forced host) list that responds is used for the
|
||||||
|
# description and mod list.
|
||||||
|
# - "all": Uses the backend server's response as the proxy response. The Velocity
|
||||||
|
# configuration is used if no servers could be contacted.
|
||||||
|
ping-passthrough = "DISABLED"
|
||||||
|
|
||||||
|
# If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
|
||||||
|
enable-player-address-logging = true
|
||||||
|
|
||||||
|
[servers]
|
||||||
|
# Configure your servers here. Each key represents the server's name, and the value
|
||||||
|
# represents the IP address of the server to connect to.
|
||||||
|
main = "192.168.2.40:30000"
|
||||||
|
fallback = "192.168.2.40:30001"
|
||||||
|
|
||||||
|
|
||||||
|
# In what order we should try servers when a player logs in or is kicked from a server.
|
||||||
|
try = [
|
||||||
|
"main",
|
||||||
|
"fallback"
|
||||||
|
]
|
||||||
|
|
||||||
|
[forced-hosts]
|
||||||
|
# Configure your forced hosts here.
|
||||||
|
"cloud.cyperpunk.de" = [
|
||||||
|
"main"
|
||||||
|
]
|
||||||
|
|
||||||
|
"garde-studios.de" = [
|
||||||
|
"fallback"
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
[advanced]
|
||||||
|
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
|
||||||
|
# compress all packets, and setting it to -1 will disable compression entirely.
|
||||||
|
compression-threshold = 256
|
||||||
|
|
||||||
|
# How much compression should be done (from 0-9). The default is -1, which uses the
|
||||||
|
# default level of 6.
|
||||||
|
compression-level = -1
|
||||||
|
|
||||||
|
# How fast (in milliseconds) are clients allowed to connect after the last connection? By
|
||||||
|
# default, this is three seconds. Disable this by setting this to 0.
|
||||||
|
login-ratelimit = 3000
|
||||||
|
|
||||||
|
# Specify a custom timeout for connection timeouts here. The default is five seconds.
|
||||||
|
connection-timeout = 5000
|
||||||
|
|
||||||
|
# Specify a read timeout for connections here. The default is 30 seconds.
|
||||||
|
read-timeout = 30000
|
||||||
|
|
||||||
|
# Enables compatibility with HAProxy's PROXY protocol. If you don't know what this is for, then
|
||||||
|
# don't enable it.
|
||||||
|
haproxy-protocol = false
|
||||||
|
|
||||||
|
# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
|
||||||
|
tcp-fast-open = false
|
||||||
|
|
||||||
|
# Enables BungeeCord plugin messaging channel support on Velocity.
|
||||||
|
bungee-plugin-message-channel = true
|
||||||
|
|
||||||
|
# Shows ping requests to the proxy from clients.
|
||||||
|
show-ping-requests = false
|
||||||
|
|
||||||
|
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
|
||||||
|
# loses connection to the server without an explicit disconnect message by attempting to fall the
|
||||||
|
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
|
||||||
|
# can disable this setting to use the BungeeCord behavior.
|
||||||
|
failover-on-unexpected-server-disconnect = true
|
||||||
|
|
||||||
|
# Declares the proxy commands to 1.13+ clients.
|
||||||
|
announce-proxy-commands = true
|
||||||
|
|
||||||
|
# Enables the logging of commands
|
||||||
|
log-command-executions = true
|
||||||
|
|
||||||
|
# Enables logging of player connections when connecting to the proxy, switching servers
|
||||||
|
# and disconnecting from the proxy.
|
||||||
|
log-player-connections = true
|
||||||
|
|
||||||
|
# Allows players transferred from other hosts via the
|
||||||
|
# Transfer packet (Minecraft 1.20.5) to be received.
|
||||||
|
accepts-transfers = false
|
||||||
|
|
||||||
|
[query]
|
||||||
|
# Whether to enable responding to GameSpy 4 query responses or not.
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# If query is enabled, on what port should the query protocol listen on?
|
||||||
|
port = 25565
|
||||||
|
|
||||||
|
# This is the map name that is reported to the query services.
|
||||||
|
map = "Mappie"
|
||||||
|
|
||||||
|
# Whether plugins should be shown in query response by default or not
|
||||||
|
show-plugins = false
|
54
development/fallback-compose.yml
Normal file
54
development/fallback-compose.yml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
services:
|
||||||
|
fallback:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
container_name: dev_fallback
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
# What Server
|
||||||
|
EULA: "true"
|
||||||
|
TYPE: FABRIC
|
||||||
|
VERSION: 1.21.1
|
||||||
|
SERVER_NAME: uno
|
||||||
|
ONLINE_MODE: false
|
||||||
|
TZ: Europe/Berlin
|
||||||
|
|
||||||
|
# Server Properties
|
||||||
|
OVERRIDE_SERVER_PROPERTIES: true
|
||||||
|
ENABLE_COMMAND_BLOCK: true
|
||||||
|
GAMEMODE: creative
|
||||||
|
FORCE_GAMEMODE: false
|
||||||
|
|
||||||
|
# RCON Setup
|
||||||
|
RCON_PASSWORD: garde-studios
|
||||||
|
BROADCAST_CONSOLE_TO_OPS: true
|
||||||
|
BROADCAST_RCON_TO_OPS: true
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
FORCE_REDOWNLOAD: true
|
||||||
|
#MEMORY: 2G
|
||||||
|
INIT_MEMORY: 500M
|
||||||
|
MAX_MEMORY: 1G
|
||||||
|
USE_AIKAR_FLAGS: true
|
||||||
|
|
||||||
|
# World & Mod Data
|
||||||
|
WORLD: https://file.cyperpunk.de/filebrowser/api/public/dl/4FDwjgd8/lobby.zip
|
||||||
|
#SEED: 795488740
|
||||||
|
MODS_FILE: /extras/mods.txt
|
||||||
|
# Whitelisting Players
|
||||||
|
WHITELIST_FILE: /extras/whitelist.json
|
||||||
|
OVERRIDE_WHITELIST: true
|
||||||
|
ENFORCE_WHITELIST: false
|
||||||
|
|
||||||
|
# Operator Setup
|
||||||
|
OPS_FILE: /extras/ops.json
|
||||||
|
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
||||||
|
ports:
|
||||||
|
- 30001:25565 # Connection Port
|
||||||
|
- 9101:9100 # unified Exporter
|
||||||
|
volumes:
|
||||||
|
- ../fallback/data:/data
|
||||||
|
- ../fallback/mods.txt:/extras/mods.txt:ro
|
||||||
|
- ../fallback/ops.json:/extras/ops.json:ro
|
||||||
|
- ../fallback/whitelist.json:/extras/whitelist.json:ro
|
||||||
|
- ../fallback/config:/config
|
||||||
|
|
54
development/main-compose.yml
Normal file
54
development/main-compose.yml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
services:
|
||||||
|
dev_server:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
container_name: dev_server
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
# What Server
|
||||||
|
EULA: "true"
|
||||||
|
TYPE: FABRIC
|
||||||
|
VERSION: 1.21.1
|
||||||
|
SERVER_NAME: dev
|
||||||
|
ONLINE_MODE: false
|
||||||
|
TZ: Europe/Berlin
|
||||||
|
|
||||||
|
# Server Properties
|
||||||
|
OVERRIDE_SERVER_PROPERTIES: true
|
||||||
|
ENABLE_COMMAND_BLOCK: true
|
||||||
|
GAMEMODE: creative
|
||||||
|
FORCE_GAMEMODE: false
|
||||||
|
LEVEL_TYPE: minecraft:large_biomes
|
||||||
|
|
||||||
|
# RCON Setup
|
||||||
|
RCON_PASSWORD: garde-studios
|
||||||
|
BROADCAST_CONSOLE_TO_OPS: true
|
||||||
|
BROADCAST_RCON_TO_OPS: true
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
FORCE_REDOWNLOAD: true
|
||||||
|
INIT_MEMORY: 500M
|
||||||
|
MAX_MEMORY: 1G
|
||||||
|
USE_AIKAR_FLAGS: true
|
||||||
|
|
||||||
|
# World & Mod Data
|
||||||
|
#WORLD:
|
||||||
|
SEED: -2202949464251781243
|
||||||
|
MODS_FILE: /extras/mods.txt
|
||||||
|
# Whitelisting Players
|
||||||
|
WHITELIST_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/whitelist.json
|
||||||
|
OVERRIDE_WHITELIST: true
|
||||||
|
ENFORCE_WHITELIST: false
|
||||||
|
|
||||||
|
# Operator Setup
|
||||||
|
OPS_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/ops.json
|
||||||
|
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
||||||
|
ports:
|
||||||
|
- 30000:25565 # Connection Port
|
||||||
|
- 31066:25575 # Rcon
|
||||||
|
- 8090:8080 # Squaremap
|
||||||
|
- 9100:9100 # unified Exporter
|
||||||
|
volumes:
|
||||||
|
- ../main/data:/data
|
||||||
|
- ../main/squaremap:/data/squaremap
|
||||||
|
- ../main/mods.txt:/extras/mods.txt:ro
|
||||||
|
- ../main/config:/config
|
3
main/.gitignore
vendored
3
main/.gitignore
vendored
@ -1 +1,4 @@
|
|||||||
/data
|
/data
|
||||||
|
/squaremap/data/
|
||||||
|
/squaremap/locale/
|
||||||
|
/squaremap/web/
|
||||||
|
@ -8,7 +8,7 @@ services:
|
|||||||
EULA: "true"
|
EULA: "true"
|
||||||
TYPE: FABRIC
|
TYPE: FABRIC
|
||||||
VERSION: 1.21.1
|
VERSION: 1.21.1
|
||||||
SERVER_NAME: uno
|
SERVER_NAME: utopia
|
||||||
ONLINE_MODE: false
|
ONLINE_MODE: false
|
||||||
TZ: Europe/Berlin
|
TZ: Europe/Berlin
|
||||||
|
|
||||||
|
@ -2,13 +2,10 @@
|
|||||||
https://cdn.modrinth.com/data/P7dR8mSH/versions/thGkUOxt/fabric-api-0.107.0%2B1.21.1.jar
|
https://cdn.modrinth.com/data/P7dR8mSH/versions/thGkUOxt/fabric-api-0.107.0%2B1.21.1.jar
|
||||||
|
|
||||||
# Cloth Config API
|
# Cloth Config API
|
||||||
https://cdn.modrinth.com/data/9s6osm5g/versions/7jtvrmVP/cloth-config-15.0.130-fabric.jar
|
https://cdn.modrinth.com/data/9s6osm5g/versions/HpMb5wGb/cloth-config-15.0.140-fabric.jar
|
||||||
|
|
||||||
# Moonlight Lib
|
|
||||||
https://cdn.modrinth.com/data/twkfQtEc/versions/tP7HsFBI/moonlight-1.21-2.14.12-fabric.jar
|
|
||||||
|
|
||||||
# Yungs API
|
# Yungs API
|
||||||
https://cdn.modrinth.com/data/Ua7DFN59/versions/Nx7XHO30/YungsApi-1.21-Fabric-5.0.0.jar
|
https://cdn.modrinth.com/data/Ua7DFN59/versions/DeaIlZ9A/YungsApi-1.21.1-Fabric-5.1.3.jar
|
||||||
|
|
||||||
# GlitchCore API
|
# GlitchCore API
|
||||||
https://cdn.modrinth.com/data/s3dmwKy5/versions/lbSHOhee/GlitchCore-fabric-1.21.1-2.1.0.0.jar
|
https://cdn.modrinth.com/data/s3dmwKy5/versions/lbSHOhee/GlitchCore-fabric-1.21.1-2.1.0.0.jar
|
||||||
@ -52,17 +49,17 @@ https://cdn.modrinth.com/data/ohNO6lps/versions/gtorYSGm/ForgeConfigAPIPort-v21.
|
|||||||
#https://cdn.modrinth.com/data/Vebnzrzj/versions/oLykW1F8/LuckPerms-Fabric-5.4.139.jar
|
#https://cdn.modrinth.com/data/Vebnzrzj/versions/oLykW1F8/LuckPerms-Fabric-5.4.139.jar
|
||||||
|
|
||||||
# Custom
|
# Custom
|
||||||
#https://cdn.modrinth.com/data/HjmxVlSr/versions/2Z4xpeH5/YungsBetterMineshafts-1.20.4-Fabric-4.4.0.jar
|
https://cdn.modrinth.com/data/o1C1Dkj5/versions/uaoqiHOb/YungsBetterDungeons-1.21.1-Fabric-5.1.3.jar
|
||||||
#https://cdn.modrinth.com/data/o1C1Dkj5/versions/4RpKnxDR/YungsBetterDungeons-1.20.4-Fabric-4.4.0.jar
|
https://cdn.modrinth.com/data/Z2mXHnxP/versions/wWdEPfV3/YungsBetterNetherFortresses-1.21.1-Fabric-3.1.3.jar
|
||||||
#https://cdn.modrinth.com/data/3dT9sgt4/versions/V46v23Uz/YungsBetterOceanMonuments-1.20.4-Fabric-3.4.0.jar
|
https://cdn.modrinth.com/data/HjmxVlSr/versions/4ybDuGhA/YungsBetterMineshafts-1.21.1-Fabric-5.1.1.jar
|
||||||
#https://cdn.modrinth.com/data/kidLKymU/versions/Y05JQWx3/YungsBetterStrongholds-1.20.4-Fabric-4.4.0.jar
|
https://cdn.modrinth.com/data/3dT9sgt4/versions/TGK6gpeO/YungsBetterOceanMonuments-1.21.1-Fabric-4.1.2.jar
|
||||||
#https://cdn.modrinth.com/data/Z2mXHnxP/versions/QplnGAIz/YungsBetterNetherFortresses-1.20.4-Fabric-2.4.0.jar
|
https://cdn.modrinth.com/data/kidLKymU/versions/mPpbOC9S/YungsBetterStrongholds-1.21.1-Fabric-5.1.2.jar
|
||||||
#https://cdn.modrinth.com/data/t5FRdP87/versions/3CEVoaSN/YungsBetterWitchHuts-1.20.4-Fabric-3.4.0.jar
|
https://cdn.modrinth.com/data/t5FRdP87/versions/bdpPtvTn/YungsBetterWitchHuts-1.21.1-Fabric-4.1.1.jar
|
||||||
#https://cdn.modrinth.com/data/XNlO7sBv/versions/Rnvv7pHS/YungsBetterDesertTemples-1.20.4-Fabric-3.4.0.jar
|
https://cdn.modrinth.com/data/z9Ve58Ih/versions/uiGCmR8O/YungsBetterJungleTemples-1.21.1-Fabric-3.1.2.jar
|
||||||
#https://cdn.modrinth.com/data/Ht4BfYp6/versions/tx2e5Fjp/YungsBridges-1.20.4-Fabric-4.4.0.jar
|
https://cdn.modrinth.com/data/2BwBOmBQ/versions/HTRZl5K6/YungsBetterEndIsland-1.21.1-Fabric-3.1.1.jar
|
||||||
#https://cdn.modrinth.com/data/ZYgyPyfq/versions/F1adMKW8/YungsExtras-1.20.4-Fabric-4.4.0.jar
|
https://cdn.modrinth.com/data/XNlO7sBv/versions/wyk3RO8o/YungsBetterDesertTemples-1.21.1-Fabric-4.1.2.jar
|
||||||
#https://cdn.modrinth.com/data/z9Ve58Ih/versions/DIG3Vtjv/YungsBetterJungleTemples-1.20.4-Fabric-2.4.0.jar
|
https://cdn.modrinth.com/data/Ht4BfYp6/versions/8h9N9fvs/YungsBridges-1.21.1-Fabric-5.1.1.jar
|
||||||
#https://cdn.modrinth.com/data/2BwBOmBQ/versions/mRCm0pL5/YungsBetterEndIsland-1.20.4-Fabric-2.4.0.jar
|
https://cdn.modrinth.com/data/ZYgyPyfq/versions/aVsikHca/YungsExtras-1.21.1-Fabric-5.1.1.jar
|
||||||
|
|
||||||
https://cdn.modrinth.com/data/HXF82T3G/versions/qtNTr7tS/BiomesOPlenty-fabric-1.21.1-21.1.0.7.jar
|
https://cdn.modrinth.com/data/HXF82T3G/versions/qtNTr7tS/BiomesOPlenty-fabric-1.21.1-21.1.0.7.jar
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user