This commit is contained in:
commit
30ce0dafc2
195 changed files with 8902 additions and 0 deletions
7
services/minecraft-server/default.nix
Normal file
7
services/minecraft-server/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./options.nix
|
||||
./firewall.nix
|
||||
./service.nix
|
||||
];
|
||||
}
|
||||
16
services/minecraft-server/firewall.nix
Normal file
16
services/minecraft-server/firewall.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (config.machine.minecraft-server)
|
||||
enable
|
||||
port
|
||||
;
|
||||
in
|
||||
with lib; mkIf enable {
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
port
|
||||
];
|
||||
}
|
||||
12
services/minecraft-server/options.nix
Normal file
12
services/minecraft-server/options.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
options.machine.minecraft-server = {
|
||||
enable = mkEnableOption "Minecraft Server";
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 25565;
|
||||
description = "Listen port.";
|
||||
};
|
||||
};
|
||||
}
|
||||
46
services/minecraft-server/service.nix
Normal file
46
services/minecraft-server/service.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (config.machine.minecraft-server)
|
||||
enable
|
||||
port
|
||||
;
|
||||
in
|
||||
with lib; mkIf enable {
|
||||
services.minecraft-server = {
|
||||
inherit enable;
|
||||
dataDir = "/var/lib/minecraft";
|
||||
declarative = true;
|
||||
eula = true;
|
||||
jvmOpts = "-Xms2046M -Xmx2046M -XX:+UseZGC";
|
||||
package = pkgs.papermcServers.papermc-1_21;
|
||||
serverProperties = {
|
||||
server-port = port;
|
||||
query-port = port;
|
||||
allow-flight = false;
|
||||
broadcast-console-to-ops = false;
|
||||
broadcast-rcon-to-ops = false;
|
||||
difficulty = "hard";
|
||||
enable-query = true;
|
||||
enable-rcon = false;
|
||||
enable-status = true;
|
||||
enforce-whitelist = false;
|
||||
force-gamemode = true;
|
||||
gamemode = "survival";
|
||||
log-ips = false;
|
||||
max-players = 20;
|
||||
max-tick-time = -1;
|
||||
motd = "RuJect's Minecraft Server";
|
||||
online-mode = false;
|
||||
op-permission-level = 4;
|
||||
simulation-distance = 16;
|
||||
view-distance = 16;
|
||||
spawn-protection = 0;
|
||||
white-list = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue