dotfiles/hosts/hyrule/minecraft-server.nix
Emile Clark-Boman 874852ca07 fix minecraft-server G1GC garbage collector given invalid args
why does wiki.nixos.org recommend +CMSIncrementalPacing and +CMSClassUnloadingEnabled for G1GC??
2025-08-03 00:53:38 +10:00

65 lines
1.9 KiB
Nix

{
pkgs,
pkgs-unstable,
...
}: {
services.minecraft-server = {
enable = true;
package = pkgs-unstable.minecraft-server; # use latest version only!
declarative = true;
eula = true;
openFirewall = false; # do this manually instead
whitelist = {
"SECRET1" = "";
"SECRET2" = "";
};
# REF: https://minecraft.wiki/w/Server.properties#Java_Edition
serverProperties = {
server-ip = "195.114.14.69"; # 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:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
};
}