mirror of
https://codeberg.org/polyteknisk-radiogruppe/the_prg_server_configuration.git
synced 2026-10-21 03:15:46 +02:00
Compare commits
5 commits
02836a213a
...
17be3bdb66
| Author | SHA1 | Date | |
|---|---|---|---|
| 17be3bdb66 | |||
| 67ee7c9318 | |||
| 23b49827c8 | |||
| 237f538fd4 | |||
| c605464950 |
2 changed files with 109 additions and 33 deletions
|
|
@ -75,7 +75,7 @@
|
||||||
modules = [
|
modules = [
|
||||||
# Apply the overlay first so pkgs in later modules (like our local
|
# Apply the overlay first so pkgs in later modules (like our local
|
||||||
# `minecraft.nix`) see the extra helpers provided by the overlay
|
# `minecraft.nix`) see the extra helpers provided by the overlay
|
||||||
{ nixpkgs.overlays = [ inputs.nix-minecraft.overlay ]; }
|
{nixpkgs.overlays = [inputs.nix-minecraft.overlay];}
|
||||||
|
|
||||||
nix-minecraft.nixosModules.minecraft-servers
|
nix-minecraft.nixosModules.minecraft-servers
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
# Try to use the nix-minecraft helper if the overlay is present; otherwise
|
# Try to use the nix-minecraft helper if the overlay is present; otherwise
|
||||||
# fall back to a local path. If you use the fallback, ensure the path is an
|
# fall back to a local path. If you use the fallback, ensure the path is an
|
||||||
# unpacked modpack directory with `mods` and `config` subdirectories.
|
# unpacked modpack directory with `mods` and `config` subdirectories.
|
||||||
modpack = /srv/minecraft/modpacks/AllTheMods10-prg.mrpack;
|
modpack = /srv/minecraft/modpacks/atm10;
|
||||||
in {
|
in {
|
||||||
options.local = {
|
options.local = {
|
||||||
hostname = lib.mkOption {
|
hostname = lib.mkOption {
|
||||||
|
|
@ -70,7 +70,7 @@ in {
|
||||||
eula = true;
|
eula = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
|
||||||
servers.all-the-mods-ten-tss = {
|
servers.all-the-mods-tss = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
restart = "always";
|
restart = "always";
|
||||||
|
|
@ -78,8 +78,26 @@ in {
|
||||||
package = pkgs.neoforgeServers.neoforge-1_21_1-21_1_224;
|
package = pkgs.neoforgeServers.neoforge-1_21_1-21_1_224;
|
||||||
|
|
||||||
jvmOpts = lib.concatStringsSep " " [
|
jvmOpts = lib.concatStringsSep " " [
|
||||||
"-Xms18G"
|
"-Xms4G"
|
||||||
"-Xmx45G"
|
"-Xmx45G"
|
||||||
|
"-XX:+UseG1GC"
|
||||||
|
"-XX:+ParallelRefProcEnabled"
|
||||||
|
"-XX:MaxGCPauseMillis=200"
|
||||||
|
"-XX:+UnlockExperimentalVMOptions"
|
||||||
|
"-XX:+DisableExplicitGC"
|
||||||
|
"-XX:+AlwaysPreTouch"
|
||||||
|
"-XX:G1NewSizePercent=30"
|
||||||
|
"-XX:G1MaxNewSizePercent=40"
|
||||||
|
"-XX:G1HeapRegionSize=8M"
|
||||||
|
"-XX:G1ReservePercent=20"
|
||||||
|
"-XX:G1HeapWastePercent=5"
|
||||||
|
"-XX:G1MixedGCCountTarget=4"
|
||||||
|
"-XX:InitiatingHeapOccupancyPercent=15"
|
||||||
|
"-XX:G1MixedGCLiveThresholdPercent=90"
|
||||||
|
"-XX:G1RSetUpdatingPauseTimePercent=5"
|
||||||
|
"-XX:SurvivorRatio=32"
|
||||||
|
"-XX:+PerfDisableSharedMem"
|
||||||
|
"-XX:MaxTenuringThreshold=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
serverProperties = {
|
serverProperties = {
|
||||||
|
|
@ -97,7 +115,57 @@ in {
|
||||||
enable-command-block = false;
|
enable-command-block = false;
|
||||||
enable-rcon = false;
|
enable-rcon = false;
|
||||||
require-resource-pack = false;
|
require-resource-pack = false;
|
||||||
|
level-type = "minecraft:amplified";
|
||||||
level-seed = "-2032795982907864146";
|
level-seed = "-2032795982907864146";
|
||||||
|
|
||||||
|
# Added properties (do not overwrite existing ones above)
|
||||||
|
accepts-transfers = false;
|
||||||
|
allow-flight = true;
|
||||||
|
allow-nether = true;
|
||||||
|
broadcast-console-to-ops = true;
|
||||||
|
broadcast-rcon-to-ops = true;
|
||||||
|
bug-report-link = "";
|
||||||
|
enable-jmx-monitoring = false;
|
||||||
|
enable-query = false;
|
||||||
|
enable-status = true;
|
||||||
|
enforce-whitelist = false;
|
||||||
|
entity-broadcast-range-percentage = 100;
|
||||||
|
force-gamemode = false;
|
||||||
|
function-permission-level = 2;
|
||||||
|
generate-structures = true;
|
||||||
|
hardcore = false;
|
||||||
|
hide-online-players = false;
|
||||||
|
initial-disabled-packs = "";
|
||||||
|
initial-enabled-packs = "vanilla";
|
||||||
|
level-name = "world";
|
||||||
|
log-ips = true;
|
||||||
|
max-chained-neighbor-updates = 1000000;
|
||||||
|
max-tick-time = 180000;
|
||||||
|
max-world-size = 29999984;
|
||||||
|
network-compression-threshold = 256;
|
||||||
|
op-permission-level = 4;
|
||||||
|
player-idle-timeout = 0;
|
||||||
|
prevent-proxy-connections = false;
|
||||||
|
pvp = true;
|
||||||
|
# dotted keys must be quoted
|
||||||
|
"query.port" = 25566;
|
||||||
|
rate-limit = 0;
|
||||||
|
"rcon.password" = "";
|
||||||
|
"rcon.port" = 25575;
|
||||||
|
region-file-compression = "deflate";
|
||||||
|
resource-pack = "";
|
||||||
|
resource-pack-id = "";
|
||||||
|
resource-pack-prompt = "";
|
||||||
|
resource-pack-sha1 = "";
|
||||||
|
server-ip = "";
|
||||||
|
spawn-animals = true;
|
||||||
|
spawn-monsters = true;
|
||||||
|
spawn-npcs = true;
|
||||||
|
sync-chunk-writes = true;
|
||||||
|
text-filtering-config = "";
|
||||||
|
use-native-transport = true;
|
||||||
|
# white-list, view-distance, simulation-distance, spawn-protection, etc.
|
||||||
|
# were kept above to avoid overwriting existing values.
|
||||||
};
|
};
|
||||||
|
|
||||||
# Grant operator privileges to the user with the given UUID.
|
# Grant operator privileges to the user with the given UUID.
|
||||||
|
|
@ -110,34 +178,20 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#symlinks = {
|
symlinks = {
|
||||||
# "mods" = "${modpack}/overrides/mods";
|
"mods" = "${modpack}/mods";
|
||||||
# "moddata" = "${modpack}/overrides/moddata";
|
"datapacks" = "${modpack}/datapacks";
|
||||||
# "resourcepacks" = "${modpack}/overrides/resourcepacks";
|
"user_jvm_args.txt" = "${modpack}/user_jvm_args.txt";
|
||||||
# "shaderpacks" = "${modpack}/overrides/shaderpacks";
|
};
|
||||||
# "dynamic-resource-pack-cache" = "${modpack}/overrides/dynamic-resource-pack-cache";
|
files = {
|
||||||
# "dynamic-data-pack-cache" = "${modpack}/overrides/dynamic-data-pack-cache";
|
"config" = "${modpack}/config";
|
||||||
#};
|
"patchouli_books" = "${modpack}/patchouli_books";
|
||||||
#files = {
|
"defaultconfigs" = "${modpack}/defaultconfigs";
|
||||||
# "backup" = "${modpack}/overrides/backup";
|
"kubejs" = "${modpack}/kubejs";
|
||||||
# "blueprints" = "${modpack}/overrides/blueprints";
|
"local" = "${modpack}/local";
|
||||||
# "command_history.txt" = "${modpack}/overrides/command_history.txt";
|
".mixin.out" = "${modpack}/.mixin.out";
|
||||||
# "config" = "${modpack}/overrides/config";
|
"dynamic-data-pack-cache" = "${modpack}/dynamic-data-pack-cache";
|
||||||
# "datapacks" = "${modpack}/overrides/datapacks";
|
};
|
||||||
# "downloads" = "${modpack}/overrides/downloads";
|
|
||||||
# "ESM" = "${modpack}/overrides/ESM";
|
|
||||||
# "eula.txt" = "${modpack}/overrides/eula.txt";
|
|
||||||
# "fancymenu_data" = "${modpack}/overrides/fancymenu_data";
|
|
||||||
# "journeymap" = "${modpack}/overrides/journeymap";
|
|
||||||
# "kubejs" = "${modpack}/overrides/kubejs";
|
|
||||||
# "manifest.json" = "${modpack}/overrides/manifest.json";
|
|
||||||
# "minecraftinstance.json" = "${modpack}/overrides/minecraftinstance.json";
|
|
||||||
# "observable_announce" = "${modpack}/overrides/observable_announce";
|
|
||||||
# "options.txt" = "${modpack}/overrides/options.txt";
|
|
||||||
# "patchouli_books" = "${modpack}/overrides/patchouli_books";
|
|
||||||
# "patchouli_data.json" = "${modpack}/overrides/patchouli_data.json";
|
|
||||||
# "schematics" = "${modpack}/overrides/schematics";
|
|
||||||
#};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
servers.fabric-modded = {
|
servers.fabric-modded = {
|
||||||
|
|
@ -435,10 +489,32 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# For FastBackup force etc to have PATH
|
# For FastBackup and to force OpenJDK 21 for the Minecraft services,
|
||||||
|
# set JAVA_HOME and include the OpenJDK bin in the service environment.
|
||||||
|
# Add matching environment for both server units created by nix-minecraft.
|
||||||
systemd.services."minecraft-server-fabric-modded".environment = {
|
systemd.services."minecraft-server-fabric-modded".environment = {
|
||||||
|
JAVA_HOME = lib.mkForce "${pkgs.openjdk21}";
|
||||||
PATH = lib.mkForce (
|
PATH = lib.mkForce (
|
||||||
lib.makeBinPath [
|
lib.makeBinPath [
|
||||||
|
pkgs.openjdk21
|
||||||
|
pkgs.git
|
||||||
|
pkgs.git-lfs
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.findutils
|
||||||
|
pkgs.gnugrep
|
||||||
|
pkgs.gnused
|
||||||
|
pkgs.systemd
|
||||||
|
]
|
||||||
|
+ ":/run/current-system/sw/bin"
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
# Ensure the other server unit also uses OpenJDK 21
|
||||||
|
systemd.services."minecraft-server-all-the-mods-tss".environment = {
|
||||||
|
JAVA_HOME = lib.mkForce "${pkgs.openjdk21}";
|
||||||
|
PATH = lib.mkForce (
|
||||||
|
lib.makeBinPath [
|
||||||
|
pkgs.openjdk21
|
||||||
pkgs.git
|
pkgs.git
|
||||||
pkgs.git-lfs
|
pkgs.git-lfs
|
||||||
pkgs.coreutils
|
pkgs.coreutils
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue