add vanilla minecraft-server to hyrule

This commit is contained in:
Emile Clark-Boman 2025-08-02 23:39:48 +10:00
parent 6e3221a410
commit d59c11a414
2 changed files with 60 additions and 0 deletions

View file

@ -73,6 +73,7 @@ in {
# 3306 (INTERNAL) forgejo sqlite3 database # 3306 (INTERNAL) forgejo sqlite3 database
5000 # debug (for my job) 5000 # debug (for my job)
# 8222 (INTERNAL) vaultwarden # 8222 (INTERNAL) vaultwarden
45000 # minecaft server
]; ];
}; };
}; };

View file

@ -0,0 +1,59 @@
{pkgs, ...}: {
services.minecraft-server = {
enable = true;
eula = true;
openFirewall = false; # do this manually instead
declarative = true;
whitelist = {
"SECRET1" = "";
"SECRET2" = "";
};
# REF: https://minecraft.wiki/w/Server.properties#Java_Edition
serverProperties = {
# server-ip = "" # listen on all addresses if unset
server-port = 45000; # connection port
query.port = 45000; # share game info/advertising information
user-native-transport = true; # Linux packet RX/TX optimizations
# Users Connections
enforce-secure-profile = true;
online-mode = true; # don't allow unlicensed minecraft accounts to join
prevent-proxy-connections = false;
rate-limit = 0;
# Server Functionality
enable-status = true; # where the server appears as "online"
hide-online-players = false;
log-ips = true;
pause-when-empty-seconds = 60; # pause server when no player online for x seconds
view-distance = 10; # range: 3-32
simulation-distance = 10; # range: 3-32
# Players
motd = "M&M's Cozycraft Realm <3";
max-players = 2;
white-list = true;
idle-player-timeout = 0; # never kick idle players
# Gameplay
gamemode = "survival";
force-gamemode = true;
difficulty = "normal";
hardcore = false;
pvp = true;
allow-cheats = true;
# World
level-name = "M&M's Cozycraft"; # world name
# level-seed = "" # random seed if unset
level-type = "minecraft:normal"; # world generation preset
generate-structures = true;
spawn-monsters = true;
spawn-protection = 0;
};
jvmOpts = "-Xms2046M -Xmx2046M -XX:+UseG1GC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
};
}