From 68e234de17d7c742ba6d4455b7d4c03c28b72db1 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Wed, 21 Feb 2024 14:50:28 +0100 Subject: add minecraft server and move palworld to games module --- modules/games/default.nix | 26 +++++++++++ modules/games/minecraft_whitelist.nix | 28 +++++++++++ modules/games/palworld.nix | 88 +++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 modules/games/minecraft_whitelist.nix create mode 100644 modules/games/palworld.nix (limited to 'modules/games') diff --git a/modules/games/default.nix b/modules/games/default.nix index 4d701f9..65b750e 100644 --- a/modules/games/default.nix +++ b/modules/games/default.nix @@ -1,6 +1,8 @@ { config, lib, pkgs, ... }: { + imports = [ ./palworld.nix ]; + services.factorio = { enable = true; package = pkgs.unstable.factorio-headless; @@ -19,4 +21,28 @@ hostname = "cocaine.farm xonotic $g_xonoticversion"; }; }; + + services.minecraft-server = { + enable = true; + package = pkgs.unstable.papermc; + eula = true; + + declarative = true; + whitelist = import ./minecraft_whitelist.nix; + serverProperties = { + motd = "Fun for the whole family!"; + + server-ip = "178.63.224.11"; + server-port = 25565; + + enforce-secure-profile = false; + difficulty = "hard"; + enable-rcon = true; + "rcon.password" = builtins.readFile ../../secrets/rcon; + force-gamemode = true; + white-list = true; + level-type = "default"; + spawn-protection = 0; + }; + }; } diff --git a/modules/games/minecraft_whitelist.nix b/modules/games/minecraft_whitelist.nix new file mode 100644 index 0000000..3a45096 --- /dev/null +++ b/modules/games/minecraft_whitelist.nix @@ -0,0 +1,28 @@ +{ + peps77 = "08b26563-8926-44f5-b4cc-862d39e48a69"; + TS29100 = "1529e460-2b03-4771-b07b-75b6b79e754f"; + Dhantom = "2922abf7-37c4-4df9-85af-95bdbb1a8982"; + Adolfo = "2947f9ba-4f66-4d9b-9a4b-8161bb60e3bc"; + ErzaChaan = "367205e9-ed0f-4232-b94c-a2853450b590"; + chickenfliq = "3a17f96e-3999-4c6d-a983-afc0350074e5"; + Do1Bi = "3fe7faaf-725e-4e4e-8952-65f439da3a88"; + Maxiking164 = "6505b4ff-764a-4e4b-9522-ca590f229aeb"; + Jumperjean = "6661efc1-2ef9-4e1e-9ea0-8175b15d35a5"; + D0v4hkiinFM = "69bdd72f-7e4e-4c5c-a400-b525a3cd5b38"; + alexdergamer400 = "711b58a3-abda-4a5b-9223-3063c741637a"; + MissJessie189 = "767e2c99-9c79-41b3-89db-a38458f53b71"; + xDignity = "777cce1d-5374-4d4d-a0e7-759802975b02"; + Ruflee = "7c72f365-6c6a-41d7-a106-e8f724bf077d"; + Madcon2007 = "90db34ae-38b6-4b78-a264-4dbbcafacf29"; + Anymax2 = "940d3630-43c1-4ff5-b821-6d1941f5f64b"; + Paschko = "977e24e2-d5db-45d1-a1ae-d2586df420c8"; + YS4LY = "a038a99b-2f9f-4a74-9fff-76a968548701"; + Saivatarr = "aa8c1582-3277-47f1-b314-b0385f688e61"; + Audron = "af4f918f-f83b-417d-a563-90f35634e580"; + Kuta9537 = "b09c6439-474b-46f8-9a37-3fabccbdc2ba"; + Norepty = "b172c8f8-970c-4532-b26f-4e94d032a93f"; + XDTOMXD2 = "b5b9bccc-3164-45d2-a216-9765c9eff451"; + L_eo19 = "c3b38d25-7858-47b3-9568-575505cb2ff0"; + "_maxohd_" = "c608eeea-563c-40a3-8bdb-706ebd576c14"; + D3fus = "f01bb580-827d-4467-8949-5ae344d293cb"; +} diff --git a/modules/games/palworld.nix b/modules/games/palworld.nix new file mode 100644 index 0000000..5ccc1fe --- /dev/null +++ b/modules/games/palworld.nix @@ -0,0 +1,88 @@ +{ config, lib, ... }: + +{ + virtualisation.oci-containers.containers = { + palworld-server = { + image = "docker.io/jammsen/palworld-dedicated-server:latest"; + autoStart = true; + volumes = [ + "/var/lib/palworld-server:/palworld" + ]; + ports = [ + "178.63.224.10:8211:8211/udp" + ]; + environment = + { + TZ = "Europe/Berlin"; + ALWAYS_UPDATE_ON_START = "true"; + MULTITHREAD_ENABLED = "true"; + COMMUNITY_SERVER = "true"; + BACKUP_ENABLED = "true"; + BACKUP_CRON_EXPRESSION = "0 * * * *"; + NETSERVERMAXTICKRATE = "120"; + DIFFICULTY = "None"; + DAYTIME_SPEEDRATE = "1.000000"; + NIGHTTIME_SPEEDRATE = "1.000000"; + EXP_RATE = "1.000000"; + PAL_CAPTURE_RATE = "1.000000"; + PAL_SPAWN_NUM_RATE = "1.000000"; + PAL_DAMAGE_RATE_ATTACK = "1.000000"; + PAL_DAMAGE_RATE_DEFENSE = "1.000000"; + PLAYER_DAMAGE_RATE_ATTACK = "1.000000"; + PLAYER_DAMAGE_RATE_DEFENSE = "1.000000"; + PLAYER_STOMACH_DECREASE_RATE = "1.000000"; + PLAYER_STAMINA_DECREACE_RATE = "1.000000"; + PLAYER_AUTO_HP_REGENE_RATE = "1.000000"; + PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP = "1.000000"; + PAL_STOMACH_DECREACE_RATE = "1.000000"; + PAL_STAMINA_DECREACE_RATE = "1.000000"; + PAL_AUTO_HP_REGENE_RATE = "1.000000"; + PAL_AUTO_HP_REGENE_RATE_IN_SLEEP = "1.000000"; + BUILD_OBJECT_DAMAGE_RATE = "1.000000"; + BUILD_OBJECT_DETERIORATION_DAMAGE_RATE = "1.000000"; + COLLECTION_DROP_RATE = "1.000000"; + COLLECTION_OBJECT_HP_RATE = "1.000000"; + COLLECTION_OBJECT_RESPAWN_SPEED_RATE = "1.000000"; + ENEMY_DROP_ITEM_RATE = "1.000000"; + DEATH_PENALTY = "All"; + ENABLE_PLAYER_TO_PLAYER_DAMAGE = "false"; + ENABLE_FRIENDLY_FIRE = "false"; + ENABLE_INVADER_ENEMY = "true"; + ACTIVE_UNKO = "false"; + ENABLE_AIM_ASSIST_PAD = "true"; + ENABLE_AIM_ASSIST_KEYBOARD = "false"; + DROP_ITEM_MAX_NUM = "3000"; + DROP_ITEM_MAX_NUM_UNKO = "100"; + BASE_CAMP_MAX_NUM = "128"; + BASE_CAMP_WORKER_MAXNUM = "15"; + DROP_ITEM_ALIVE_MAX_HOURS = "1.000000"; + AUTO_RESET_GUILD_NO_ONLINE_PLAYERS = "false"; + AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS = "72.000000"; + GUILD_PLAYER_MAX_NUM = "20"; + PAL_EGG_DEFAULT_HATCHING_TIME = "37.000000"; + WORK_SPEED_RATE = "1.000000"; + IS_MULTIPLAY = "false"; + IS_PVP = "false"; + CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP = "false"; + ENABLE_NON_LOGIN_PENALTY = "true"; + ENABLE_FAST_TRAVEL = "true"; + IS_START_LOCATION_SELECT_BY_MAP = "true"; + EXIST_PLAYER_AFTER_LOGOUT = "false"; + ENABLE_DEFENSE_OTHER_GUILD_PLAYER = "false"; + COOP_PLAYER_MAX_NUM = "4"; + MAX_PLAYERS = "32"; + SERVER_NAME = "cocaine.farm"; + SERVER_DESCRIPTION = "cocaine"; + ADMIN_PASSWORD = builtins.readFile ../../secrets/rcon; + SERVER_PASSWORD = ""; + PUBLIC_PORT = "8211"; + # PUBLIC_IP = ; + RCON_ENABLED = "false"; + RCON_PORT = "25575"; + # REGION = ; + USEAUTH = "true"; + BAN_LIST_URL = "https://api.palworldgame.com/api/banlist.txt"; + }; + }; + }; +} -- cgit v1.2.3