Remove Pufferpanel and add Nix-Minecraft properly
This commit is contained in:
parent
f8907ae96e
commit
b6f1cb5259
10
flake.lock
10
flake.lock
|
@ -180,15 +180,15 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724722703,
|
||||
"narHash": "sha256-5xhQLp0tLY/1nWlcU5uYsCUawxcwqEzAGi0b8wAQKxA=",
|
||||
"owner": "Infinidoge",
|
||||
"lastModified": 1724982042,
|
||||
"narHash": "sha256-IwHIZYo1fyloQxvBy15QVzMALNEa7Jo6tzXVJj7U9Ws=",
|
||||
"owner": "JimmJam",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "f74de364f4354e509cc12399de4d4df834a0a45f",
|
||||
"rev": "32b632e29b141cc4c441b6e5504d33a9564dc3e6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Infinidoge",
|
||||
"owner": "JimmJam",
|
||||
"repo": "nix-minecraft",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
|
@ -81,13 +81,18 @@
|
|||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
"/var/lib/mastodon" = {
|
||||
device = "/export/JimboNFS/System/var/lib/mastodon";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
"/var/lib/private/pufferpanel/servers" = {
|
||||
device = "/export/JimboNFS/System/var/lib/pufferpanel/servers";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
"/var/lib/mastodon" = {
|
||||
device = "/export/JimboNFS/System/var/lib/mastodon";
|
||||
"/srv/minecraft" = {
|
||||
device = "/export/JimboNFS/System/srv/minecraft";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
./server/nfs.nix
|
||||
./server/nginx.nix
|
||||
./server/owncast.nix
|
||||
./server/pufferpanel.nix
|
||||
./server/minecraft
|
||||
./server/tandoor.nix
|
||||
./server/vaultwarden.nix
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
imports = [
|
||||
inputs.nix-minecraft.nixosModules.minecraft-servers
|
||||
./servers/velocity.nix
|
||||
#./servers/viaproxy.nix
|
||||
./servers/dewdemolisher.nix
|
||||
./servers/johnside.nix
|
||||
./servers/blockworld.nix
|
||||
#./servers/beta.nix
|
||||
./servers/uberbeta.nix
|
||||
];
|
||||
nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];
|
||||
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | Notes | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## Notes
|
||||
|
||||
# This is the config file for EssentialsX.
|
||||
# This config was generated for version 2.21.0-dev+107-7b02d22.
|
||||
|
@ -17,11 +12,7 @@
|
|||
|
||||
# If you need help, you can join the EssentialsX community: https://essentialsx.net/community.html
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | Essentials (Global) | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
# Essentials (Global)
|
||||
|
||||
# A color code between 0-9 or a-f. Set to 'none' to disable.
|
||||
# In 1.16+ you can use hex color codes here as well. (For example, #613e1d is brown).
|
||||
|
@ -760,11 +751,7 @@ max-itemlore-lines: 10
|
|||
# This uses the public GitHub API and no identifying information is sent or stored.
|
||||
update-check: true
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | Homes | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## Homes
|
||||
|
||||
# Allows people to set their bed during the day.
|
||||
# This setting has no effect in Minecraft 1.15+, as Minecraft will always allow the player to set their bed location during the day.
|
||||
|
@ -804,11 +791,7 @@ spawn-if-no-home: true
|
|||
# Should players be asked to provide confirmation for homes which they attempt to overwrite?
|
||||
confirm-home-overwrite: false
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | Economy | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## Economy
|
||||
|
||||
# For more information, visit http://wiki.ess3.net/wiki/Essentials_Economy
|
||||
|
||||
|
@ -873,11 +856,7 @@ show-zero-baltop: true
|
|||
# For 1'234,50 use fr-ch
|
||||
#currency-symbol-format-locale: en-US
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | Help | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## Help
|
||||
|
||||
# Show other plugins commands in help.
|
||||
non-ess-in-help: true
|
||||
|
@ -888,11 +867,7 @@ non-ess-in-help: true
|
|||
# You can use negative permissions to remove access to just a single plugins help if the following is enabled.
|
||||
hide-permissionless-help: true
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsX Chat | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## EssentialsX Chat
|
||||
|
||||
# You need to install EssentialsX Chat for this section to work.
|
||||
# See https://essentialsx.net/wiki/Module-Breakdown.html for more information.
|
||||
|
@ -955,11 +930,7 @@ chat:
|
|||
# Whether chat questions should be enabled or not.
|
||||
question-enabled: true
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsX Protect | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## EssentialsX Protect
|
||||
|
||||
# You need to install EssentialsX Protect for this section to work.
|
||||
# See https://essentialsx.net/wiki/Module-Breakdown.html for more information.
|
||||
|
@ -1103,11 +1074,7 @@ protect:
|
|||
thunder: false
|
||||
lightning: false
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsX AntiBuild | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## EssentialsX AntiBuild
|
||||
|
||||
# You need to install EssentialsX AntiBuild for this section to work.
|
||||
# See https://essentialsx.net/wiki/Module-Breakdown.html and http://wiki.ess3.net/wiki/AntiBuild for more information.
|
||||
|
@ -1149,11 +1116,7 @@ protect:
|
|||
# Which blocks should not be dispensed by dispensers
|
||||
dispenser:
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsX Spawn + New Players | #
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
## EssentialsX Spawn + New Players
|
||||
|
||||
# You need to install EssentialsX Spawn for this section to work.
|
||||
# See https://essentialsx.net/wiki/Module-Breakdown.html for more information.
|
||||
|
|
3
nixos/server/minecraft/logs/debug.log
Normal file
3
nixos/server/minecraft/logs/debug.log
Normal file
|
@ -0,0 +1,3 @@
|
|||
[13:10:19] [main/INFO] (ViaProxy) Usage: java -jar viaproxy.jar | Starts ViaProxy in graphical mode if available
|
||||
[13:10:19] [main/INFO] (ViaProxy) Usage: java -jar viaproxy.jar config <config file> | Starts ViaProxy with the specified config file
|
||||
[13:10:19] [main/INFO] (ViaProxy) Usage: java -jar viaproxy.jar cli --help | Starts ViaProxy in CLI mode
|
3
nixos/server/minecraft/logs/latest.log
Normal file
3
nixos/server/minecraft/logs/latest.log
Normal file
|
@ -0,0 +1,3 @@
|
|||
[13:10:19] [main/INFO] (ViaProxy) Usage: java -jar viaproxy.jar | Starts ViaProxy in graphical mode if available
|
||||
[13:10:19] [main/INFO] (ViaProxy) Usage: java -jar viaproxy.jar config <config file> | Starts ViaProxy with the specified config file
|
||||
[13:10:19] [main/INFO] (ViaProxy) Usage: java -jar viaproxy.jar cli --help | Starts ViaProxy in CLI mode
|
|
@ -8,7 +8,7 @@ in {
|
|||
serverProperties = common.serverProperties // {
|
||||
difficulty = 2;
|
||||
server-port = 30009;
|
||||
motd = "§l§aJohnside SMP§r §l§fworld for §4John lovers only.";
|
||||
motd = "§l§9Johnside SMP§r §l§fworld for §4John lovers only.";
|
||||
};
|
||||
whitelist = common.whitelist;
|
||||
symlinks = common.symlinks // {
|
||||
|
|
16
nixos/server/minecraft/servers/uberbeta.nix
Normal file
16
nixos/server/minecraft/servers/uberbeta.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{pkgs, ...}: let
|
||||
common = import ../common.nix { inherit pkgs; };
|
||||
uberBukkit = pkgs.vanillaServers.vanilla.overrideAttrs (oldAttrs: {
|
||||
src = ../uberbukkit.jar;
|
||||
});
|
||||
in {
|
||||
services.minecraft-servers.servers.uberbeta = {
|
||||
enable = true;
|
||||
package = uberBukkit;
|
||||
jvmOpts = "-Xmx512M";
|
||||
serverProperties = common.serverProperties // {
|
||||
difficulty = 3;
|
||||
server-port = 30005;
|
||||
};
|
||||
};
|
||||
}
|
BIN
nixos/server/minecraft/uberbukkit.jar
Normal file
BIN
nixos/server/minecraft/uberbukkit.jar
Normal file
Binary file not shown.
|
@ -1,133 +0,0 @@
|
|||
# Config version. Do not change this
|
||||
config-version = "2.7"
|
||||
|
||||
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
|
||||
bind = "0.0.0.0:25565"
|
||||
|
||||
# What should be the MOTD?
|
||||
motd = "<#09add3>A Velocity Server"
|
||||
|
||||
# What should we display for the maximum number of players?
|
||||
show-max-players = 500
|
||||
|
||||
# Should we authenticate players with Mojang? By default, this is on.
|
||||
online-mode = true
|
||||
|
||||
# Should the proxy enforce the new public key security standard? By default, this is on.
|
||||
force-key-authentication = true
|
||||
|
||||
# If client's ISP/AS sent from this proxy is different from the one from Mojang's
|
||||
# authentication server, the player is kicked. This disallows some VPN and proxy
|
||||
# connections but is a weak form of protection.
|
||||
prevent-client-proxy-connections = false
|
||||
|
||||
# Should we forward IP addresses and other data to backend servers?
|
||||
# - "none": No forwarding will be done. All players will appear to be connecting from the proxy and will have offline-mode UUIDs.
|
||||
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use if you run servers using Minecraft 1.12 or lower.
|
||||
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard plugin. Use if you run servers using Minecraft 1.12 or lower, or if they don't support modern.
|
||||
# - "modern": Forward player IPs and UUIDs as part of the login process using Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
|
||||
player-info-forwarding-mode = "bungeeguard"
|
||||
|
||||
# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
|
||||
# The file is expected to be UTF-8 encoded and not empty.
|
||||
forwarding-secret-file = "forwarding.secret"
|
||||
|
||||
# Announce whether or not your server supports Forge. If you run a modded server, we
|
||||
# suggest turning this on.
|
||||
#
|
||||
# If your network runs one modpack consistently, use ping-passthrough = "mods" instead for a nicer display in the server list.
|
||||
announce-forge = false
|
||||
|
||||
# If enabled and the proxy is in online mode, Velocity will kick
|
||||
# any existing player who is online if a duplicate connection attempt is made.
|
||||
kick-existing-players = false
|
||||
|
||||
# Should Velocity pass server list ping requests to a backend server?
|
||||
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png will determine the initial server list ping response.
|
||||
# - "mods": Passes only the mod list from your backend server into the response. The first server in your try list with a mod list will be used.
|
||||
# - "description": Uses the description and mod list from the backend server. The first server in the try list that responds is used for the description and mod list.
|
||||
# - "all": Uses the backend server's response as the proxy response. Velocity configuration is used as fallback.
|
||||
ping-passthrough = "all"
|
||||
|
||||
# If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
|
||||
enable-player-address-logging = true
|
||||
|
||||
[servers]
|
||||
dewdemolisher = "127.0.0.1:30010"
|
||||
johnside = "127.0.0.1:30009"
|
||||
bloxelcom = "127.0.0.1:30012"
|
||||
beta = "127.0.0.1:30011"
|
||||
|
||||
# In what order we should try servers when a player logs in or is kicked from a server.
|
||||
try = [
|
||||
"dewdemolisher"
|
||||
]
|
||||
|
||||
[forced-hosts]
|
||||
# Configure your forced hosts here.
|
||||
"mc.jimbosfiles.com" = [
|
||||
"dewdemolisher"
|
||||
]
|
||||
"john.jimbosfiles.com" = [
|
||||
"johnside"
|
||||
]
|
||||
"blox.jimbosfiles.com" = [
|
||||
"bloxelcom"
|
||||
]
|
||||
"beta.jimbosfiles.com" = [
|
||||
"beta"
|
||||
]
|
||||
|
||||
[advanced]
|
||||
# How large a Minecraft packet has to be before we compress it.
|
||||
compression-threshold = 256
|
||||
|
||||
# How much compression should be done (from 0-9). The default is -1, which uses the default level of 6.
|
||||
compression-level = -1
|
||||
|
||||
# How fast (in milliseconds) are clients allowed to connect after the last connection? By default, this is three seconds. Disable this by setting this to 0.
|
||||
login-ratelimit = 3000
|
||||
|
||||
# Specify a custom timeout for connection timeouts here. The default is five seconds.
|
||||
connection-timeout = 5000
|
||||
|
||||
# Specify a read timeout for connections here. The default is 30 seconds.
|
||||
read-timeout = 30000
|
||||
|
||||
# Enables compatibility with HAProxy's PROXY protocol. If you don't know what this is for, then don't enable it.
|
||||
haproxy-protocol = false
|
||||
|
||||
# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
|
||||
tcp-fast-open = false
|
||||
|
||||
# Enables BungeeCord plugin messaging channel support on Velocity.
|
||||
bungee-plugin-message-channel = true
|
||||
|
||||
# Shows ping requests to the proxy from clients.
|
||||
show-ping-requests = false
|
||||
|
||||
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
|
||||
# loses connection to the server without an explicit disconnect message by attempting to fall the
|
||||
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
|
||||
# can disable this setting to use the BungeeCord behavior.
|
||||
failover-on-unexpected-server-disconnect = true
|
||||
|
||||
# Declares the proxy commands to 1.13+ clients.
|
||||
announce-proxy-commands = true
|
||||
|
||||
# Enables the logging of commands
|
||||
log-command-executions = false
|
||||
|
||||
# Enables logging of player connections when connecting to the proxy, switching servers
|
||||
# and disconnecting from the proxy.
|
||||
log-player-connections = true
|
||||
|
||||
# Allows players transferred from other hosts via the
|
||||
# Transfer packet (Minecraft 1.20.5) to be received.
|
||||
accepts-transfers = false
|
||||
|
||||
[query]
|
||||
enabled = false
|
||||
port = 25577
|
||||
map = "Velocity"
|
||||
show-plugins = false
|
BIN
nixos/server/minecraft/viaproxy.jar
Normal file
BIN
nixos/server/minecraft/viaproxy.jar
Normal file
Binary file not shown.
|
@ -1,31 +0,0 @@
|
|||
{pkgs, outputs, lib, ...}: {
|
||||
services = {
|
||||
pufferpanel = {
|
||||
enable = true;
|
||||
environment = {
|
||||
PUFFER_WEB_HOST = ":5010";
|
||||
PUFFER_PANEL_SETTINGS_MASTERURL = "https://panel.${outputs.secrets.jimDomain}";
|
||||
PUFFER_PANEL_EMAIL_PROVIDER = "smtp";
|
||||
PUFFER_PANEL_EMAIL_HOST = "mx.${outputs.secrets.jimDomain}:587";
|
||||
PUFFER_PANEL_EMAIL_FROM = "noreply@${outputs.secrets.jimDomain}";
|
||||
PUFFER_PANEL_EMAIL_USERNAME = "noreply@${outputs.secrets.jimDomain}";
|
||||
PUFFER_PANEL_EMAIL_PASSWORD = outputs.secrets.noreplyPassword;
|
||||
};
|
||||
extraPackages = with pkgs; [ bash curl gawk gnutar gzip ];
|
||||
package = pkgs.buildFHSEnv {
|
||||
name = "pufferpanel-fhs";
|
||||
meta.mainProgram = "pufferpanel-fhs";
|
||||
runScript = lib.getExe pkgs.pufferpanel;
|
||||
targetPkgs = pkgs': with pkgs'; [ icu openssl zlib ];
|
||||
};
|
||||
};
|
||||
nginx.virtualHosts."panel.${outputs.secrets.jimDomain}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:5010";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue