mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 05:36:59 +01:00
Setup minecraft server
This commit is contained in:
parent
30787dffc9
commit
161e9aa71f
4 changed files with 74 additions and 28 deletions
|
|
@ -11,6 +11,7 @@
|
||||||
./jellyfin.nix
|
./jellyfin.nix
|
||||||
./stb.nix
|
./stb.nix
|
||||||
./monero.nix
|
./monero.nix
|
||||||
|
./minecraft-server.nix
|
||||||
./torrents.nix
|
./torrents.nix
|
||||||
./jitsi.nix
|
./jitsi.nix
|
||||||
./binary-cache.nix
|
./binary-cache.nix
|
||||||
|
|
|
||||||
55
modules/minecraft-server.nix
Normal file
55
modules/minecraft-server.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.custom.services.minecraft-server;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.custom.services.minecraft-server = {
|
||||||
|
enable = lib.mkEnableOption "minecraft server";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.minecraft-server = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs-unstable.minecraft-server;
|
||||||
|
eula = true;
|
||||||
|
openFirewall = true;
|
||||||
|
declarative = true;
|
||||||
|
serverProperties = {
|
||||||
|
enable-rcon = true;
|
||||||
|
"rcon.port" = 25575;
|
||||||
|
"rcon.password" = "password";
|
||||||
|
server-port = 23363;
|
||||||
|
online-mode = true;
|
||||||
|
force-gamemode = true;
|
||||||
|
white-list = true;
|
||||||
|
diffuculty = "hard";
|
||||||
|
};
|
||||||
|
whitelist = {
|
||||||
|
paulplay15 = "1d5abc95-2fdb-4dcb-98e8-4fb5a0fba953";
|
||||||
|
Xavier1258 = "e9059cf3-00ef-47a3-92ee-4e4a3fea0e6d";
|
||||||
|
denisjulien3333 = "3c93e1a2-42d8-4a51-9fe3-924c8e8d5b07";
|
||||||
|
};
|
||||||
|
dataDir = "/nix/var/data/minecraft";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.bluemap = {
|
||||||
|
enable = true;
|
||||||
|
eula = true;
|
||||||
|
defaultWorld = "${config.services.minecraft-server.dataDir}/world";
|
||||||
|
host = "mcmap.${config.networking.domain}";
|
||||||
|
enableNginx = true;
|
||||||
|
enableRender = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx.virtualHosts."mcmap.${config.networking.domain}" = {
|
||||||
|
forceSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../environment.nix
|
../environment.nix
|
||||||
|
|
@ -230,10 +235,11 @@
|
||||||
roundcube.enable = true;
|
roundcube.enable = true;
|
||||||
monero.enable = true;
|
monero.enable = true;
|
||||||
grafana.enable = true;
|
grafana.enable = true;
|
||||||
monitoring-exporters.enable = true;
|
|
||||||
immich.enable = true;
|
|
||||||
forgejo.enable = true;
|
|
||||||
headscale.enable = true;
|
headscale.enable = true;
|
||||||
|
immich.enable = true;
|
||||||
|
minecraft-server.enable = true;
|
||||||
|
monitoring-exporters.enable = true;
|
||||||
|
forgejo.enable = true;
|
||||||
|
|
||||||
backup-job = {
|
backup-job = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -374,30 +380,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# services.minecraft-server = {
|
|
||||||
# enable = false;
|
|
||||||
# package = pkgs-unstable.minecraft-server;
|
|
||||||
# eula = true;
|
|
||||||
# openFirewall = false;
|
|
||||||
# declarative = true;
|
|
||||||
# serverProperties = {
|
|
||||||
# enable-rcon = true;
|
|
||||||
# "rcon.port" = 25575;
|
|
||||||
# "rcon.password" = "password";
|
|
||||||
# server-port = 23363;
|
|
||||||
# online-mode = true;
|
|
||||||
# force-gamemode = true;
|
|
||||||
# white-list = true;
|
|
||||||
# diffuculty = "hard";
|
|
||||||
# };
|
|
||||||
# whitelist = {
|
|
||||||
# paulplay15 = "1d5abc95-2fdb-4dcb-98e8-4fb5a0fba953";
|
|
||||||
# Xavier1258 = "e9059cf3-00ef-47a3-92ee-4e4a3fea0e6d";
|
|
||||||
# denisjulien3333 = "3c93e1a2-42d8-4a51-9fe3-924c8e8d5b07";
|
|
||||||
# };
|
|
||||||
# dataDir = "/nix/var/data/minecraft";
|
|
||||||
# };
|
|
||||||
|
|
||||||
# virtualisation.oci-containers.containers = {
|
# virtualisation.oci-containers.containers = {
|
||||||
# "minecraft" = {
|
# "minecraft" = {
|
||||||
# image = "itzg/minecraft-server";
|
# image = "itzg/minecraft-server";
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,14 @@ resource "hetznerdns_record" "banditlair_hcloud_a" {
|
||||||
ttl = 600
|
ttl = 600
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "hetznerdns_record" "banditlair_mcmap_a" {
|
||||||
|
zone_id = data.hetznerdns_zone.banditlair_zone.id
|
||||||
|
name = "mcmap"
|
||||||
|
value = local.hel1_ip
|
||||||
|
type = "A"
|
||||||
|
ttl = 600
|
||||||
|
}
|
||||||
|
|
||||||
resource "hetznerdns_record" "webmail_a" {
|
resource "hetznerdns_record" "webmail_a" {
|
||||||
zone_id = data.hetznerdns_zone.banditlair_zone.id
|
zone_id = data.hetznerdns_zone.banditlair_zone.id
|
||||||
name = "webmail"
|
name = "webmail"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue