diff --git a/Makefile b/Makefile index e435700..55484e2 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,13 @@ -contexts = siverten/bind9 siverten/oxen +mc_contexts = siverten/magma siverten/rlcraft +game_contexts = $(mc_contexts) siverten/tshock -siverten/bind9 : +contexts = siverten/bind9 siverten/oxen siverten/tor\ + $(game_contexts) +updates = $(contexts) + +siverten/bind9: docker build siverten/bind9 -siverten/oxen : +siverten/oxen: docker build siverten/oxen build : $(contexts) diff --git a/siverten/README.md b/siverten/README.md index a886757..cb54cb3 100644 --- a/siverten/README.md +++ b/siverten/README.md @@ -1,9 +1,24 @@ # Docker files for siverten/ docker images on the DockerHub registry! +### oxen +A bit bloated debian based docker image for running nodes +on the oxen/loki crypto network. + +### magma +Is a minecraft server that supports both paper/spigot/bukkit plugins and +forge mods! + +### rlcraft +Docker image based of the magma one that comes with the rlcraft modpack ready. +NOTE: requires the modpack .zip unpacked in a folder named rlcraft for the +Dockerfile build to work! + +### tshock +Tsock Terraria server running in docker! + +### tor +Simple alpine based tor docker image. +There should be an arm based version of this on DockerHub (siverten/tor-arm)! + ### bind9 Simple alpine based bind9 docker image. - -### oxen -A bit more bloated debian based docker image for running nodes -on the oxen/loki crypto network. - diff --git a/siverten/magma/Dockerfile b/siverten/magma/Dockerfile new file mode 100644 index 0000000..82eeadf --- /dev/null +++ b/siverten/magma/Dockerfile @@ -0,0 +1,26 @@ +FROM openjdk:8-jre + +RUN mkdir /magma +WORKDIR /magma +ENV GIT_HASH "761933c" +ENV MC_RAM="1G" + +#https://magmafoundation.org/#download +RUN wget https://github.com/magmafoundation/Magma/releases/download/v${GIT_HASH}-CUSTOM/Magma-${GIT_HASH}-STABLE-server.jar + +RUN java -jar Magma-${GIT_HASH}-STABLE-server.jar nogui +RUN echo 'eula=true' > eula.txt + +COPY server.properties . +COPY bukkit.yml . +COPY spigot.yml . +COPY paper.yml . +COPY magma.yml . +COPY ops.json . + +EXPOSE 25565 +EXPOSE 25575 +VOLUME [ "/magma/plugins", "/magma/mods", "/magma/config", "/magma/world", "/magma/logs" ] + +CMD java -server -Xms${MC_RAM} -Xmx${MC_RAM} -Dfml.queryResult=confirm -XX:+CMSClassUnloadingEnabled -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -Djline.terminal=jline.UnsupportedTerminal -jar Magma-${GIT_HASH}-STABLE-server.jar nogui + diff --git a/siverten/magma/bukkit.yml b/siverten/magma/bukkit.yml new file mode 100644 index 0000000..86e2a05 --- /dev/null +++ b/siverten/magma/bukkit.yml @@ -0,0 +1,37 @@ +# This is the main configuration file for Bukkit. +# As you can see, there's actually not that much to configure without any plugins. +# For a reference for any variable inside this file, check out the Bukkit Wiki at +# http://wiki.bukkit.org/Bukkit.yml +# +# If you need help on this file, feel free to join us on irc or leave a message +# on the forums asking for advice. +# +# IRC: #spigot @ irc.spi.gt +# (If this means nothing to you, just go to http://www.spigotmc.org/pages/irc/ ) +# Forums: http://www.spigotmc.org/ +# Bug tracker: http://www.spigotmc.org/go/bugs + + +settings: + allow-end: true + warn-on-overload: true + permissions-file: permissions.yml + update-folder: update + plugin-profiling: false + connection-throttle: 4000 + query-plugins: true + deprecated-verbose: default + shutdown-message: Server closed +spawn-limits: + monsters: 70 + animals: 15 + water-animals: 5 + ambient: 15 +chunk-gc: + period-in-ticks: 600 + load-threshold: 0 +ticks-per: + animal-spawns: 400 + monster-spawns: 1 + autosave: 6000 +aliases: now-in-commands.yml diff --git a/siverten/magma/magma.yml b/siverten/magma/magma.yml new file mode 100644 index 0000000..cf61a8f --- /dev/null +++ b/siverten/magma/magma.yml @@ -0,0 +1,51 @@ +# This is the main configuration file for Magma. +# +# Site: https://magmafoundation.org +# Discord: https://discord.gg/6rkqngA +# +# Value: forge.blacklistedmods.enabled Default: false # Enable blacklisting of mods +# Value: debug.debugPrintBukkitBannerPatterns Default: false # Prints the Forge Bukkit Banner Patterns +# Value: fakeplayer.permissions Default: # A list of permissions that fake players should have +# Value: magma.advanced.override-brand Default: false # Enables overriding the brand string +# Value: magma.advanced.tooltip-priority Default: mod # Mod, Plugin, None : determines what has tooltip priority +# Value: forge.blacklistedmods.list Default: # A list of mods to blacklist +# Value: magma.advanced.override-brand-name Default: Spigot # Value to use for new brand string +# Value: magma.messages.fml.fml-required Default: &cThis Server is running Magma. Forge and additional mods are required in order to connect to this server. # FML required kick message +# Value: debug.debugPrintCommandNode Default: false # Prints out all Command Nodes for permissions +# Value: magma.auto-update Default: true # Auto updates the Magma jar +# Value: experience-merge-max-value Default: -1 # Instructs the server put a maximum value on experience orbs, preventing them all from merging down into 1 single orb. +# Value: forge.bukkitPermissionHandler.enable Default: true # Let's Bukkit permission plugins handle forge/modded commands +# Value: magma.advanced.server-type Default: FML # Set to FML to show forge icon or BUKKIT to show bukkit icon (FML is default) +# Value: debug.debugPrintBukkitMatterials Default: false # Prints the Forge Bukkit Materials +# Value: forge.blacklistedmods.kickmessage Default: Please Remove Blacklisted Mods # Mod Blacklist kick message +# Value: magma.messages.fml.missing-mods Default: &cYou are missing the following mods: # Missing Mods kick message + +forge: + blacklistedmods: + enabled: false + list: [] + kickmessage: Please Remove Blacklisted Mods + bukkitPermissionHandler: + enable: true + autoUnloadDimensions: + - -1 +debug: + debugPrintBukkitBannerPatterns: false + debugPrintCommandNode: false + debugPrintBukkitMatterials: false +fakeplayer: + permissions: [] +magma: + advanced: + override-brand: false + tooltip-priority: mod + override-brand-name: PaperMC + server-type: FML + messages: + fml: + fml-required: '&cThis Server is running Magma. Forge and additional mods are + required in order to connect to this server.' + missing-mods: '&cYou are missing the following mods:' + auto-update: true +experience-merge-max-value: -1 +config-version: 2 diff --git a/siverten/magma/ops.json b/siverten/magma/ops.json new file mode 100644 index 0000000..21540be --- /dev/null +++ b/siverten/magma/ops.json @@ -0,0 +1,8 @@ +[ + { + "uuid": "b879ccdf-6408-4420-93aa-6441d5f315e8", + "name": "GhostZephyr", + "level": 4, + "bypassesPlayerLimit": true + } +] diff --git a/siverten/magma/paper.yml b/siverten/magma/paper.yml new file mode 100644 index 0000000..bd0276d --- /dev/null +++ b/siverten/magma/paper.yml @@ -0,0 +1,48 @@ +# This is the main configuration file for Paper. +# As you can see, there's tons to configure. Some options may impact gameplay, so use +# with caution, and make sure you know what each option does before configuring. +# +# If you need help with the configuration or have any questions related to Paper, +# join us in our IRC channel. +# +# IRC: #paper @ irc.spi.gt ( http://irc.spi.gt/iris/?channels=paper ) +# Wiki: https://paper.readthedocs.org/ +# Paper Forums: https://aquifermc.org/ + +verbose: false +config-version: 13 +settings: + sleep-between-chunk-saves: false + load-permissions-yml-before-plugins: true + region-file-cache-size: 256 + enable-player-collisions: true + save-empty-scoreboard-teams: false + bungee-online-mode: true + incoming-packet-spam-threshold: 300 + player-auto-save-rate: -1 + max-player-auto-save-per-tick: -1 + remove-invalid-statistics: false + save-player-data: true + use-alternative-luck-formula: false + min-chunk-load-threads: 2 + suggest-player-names-when-null-tab-completions: true + spam-limiter: + tab-spam-increment: 10 + tab-spam-limit: 500 + book-size: + page-max: 2560 + total-multiplier: 0.98 +messages: + kick: + authentication-servers-down: '' + flying-player: Flying is not enabled on this server + flying-vehicle: Flying is not enabled on this server +timings: + enabled: true + verbose: true + server-name-privacy: false + hidden-config-entries: + - database + - settings.bungeecord-addresses + history-interval: 300 + history-length: 3600 diff --git a/siverten/magma/server.properties b/siverten/magma/server.properties new file mode 100644 index 0000000..81db32a --- /dev/null +++ b/siverten/magma/server.properties @@ -0,0 +1,40 @@ +#Minecraft server properties +#Tue Feb 23 17:29:59 CET 2021 +spawn-protection=16 +generator-settings= +force-gamemode=false +allow-nether=true +gamemode=0 +broadcast-console-to-ops=true +enable-query=false +player-idle-timeout=0 +difficulty=3 +spawn-monsters=true +op-permission-level=4 +pvp=true +snooper-enabled=true +level-type=DEFAULT +hardcore=false +enable-command-block=false +max-players=69 +network-compression-threshold=256 +resource-pack-sha1= +max-world-size=29999984 +server-port=25565 +server-ip=0.0.0.0 +spawn-npcs=true +allow-flight=true +level-name=world +view-distance=9 +resource-pack= +spawn-animals=true +white-list=false +generate-structures=true +online-mode=false +max-build-height=256 +level-seed= +prevent-proxy-connections=false +use-native-transport=true +motd=An RLCraft Server Running in Docker! +enable-rcon=true +rcon.password=badpasswordthatshouldbechanged! diff --git a/siverten/magma/spigot.yml b/siverten/magma/spigot.yml new file mode 100644 index 0000000..55437a8 --- /dev/null +++ b/siverten/magma/spigot.yml @@ -0,0 +1,124 @@ +# This is the main configuration file for Spigot. +# As you can see, there's tons to configure. Some options may impact gameplay, so use +# with caution, and make sure you know what each option does before configuring. +# For a reference for any variable inside this file, check out the Spigot wiki at +# http://www.spigotmc.org/wiki/spigot-configuration/ +# +# If you need help with the configuration or have any questions related to Spigot, +# join us at the IRC or drop by our forums and leave a post. +# +# IRC: #spigot @ irc.spi.gt ( http://www.spigotmc.org/pages/irc/ ) +# Forums: http://www.spigotmc.org/ + +config-version: 11 +stats: + disable-saving: false + forced-stats: {} +commands: + tab-complete: 0 + log: true + spam-exclusions: + - /skill + replace-commands: + - setblock + - summon + - testforblock + - tellraw + silent-commandblock-console: false +messages: + whitelist: You are not whitelisted on this server! + unknown-command: Unknown command. Type "/help" for help. + server-full: The server is full! + outdated-client: Outdated client! Please use {0} + outdated-server: Outdated server! I'm still on {0} + restart: Server is restarting +settings: + attribute: + maxHealth: + max: 2048.0 + movementSpeed: + max: 2048.0 + attackDamage: + max: 2048.0 + timeout-time: 60 + restart-on-crash: true + restart-script: ./start.sh + netty-threads: 4 + bungeecord: true + late-bind: false + sample-count: 12 + filter-creative-items: true + user-cache-size: 1000 + int-cache-limit: 1024 + moved-wrongly-threshold: 0.0625 + moved-too-quickly-multiplier: 10.0 + item-dirty-ticks: 20 + save-user-cache-on-stop-only: false + player-shuffle: 0 +advancements: + disable-saving: false + disabled: + - minecraft:story/disabled +world-settings: + default: + verbose: true + save-structure-info: true + mob-spawn-range: 4 + growth: + cactus-modifier: 100 + cane-modifier: 100 + melon-modifier: 100 + mushroom-modifier: 100 + pumpkin-modifier: 100 + sapling-modifier: 100 + wheat-modifier: 100 + netherwart-modifier: 100 + vine-modifier: 100 + cocoa-modifier: 100 + entity-activation-range: + animals: 32 + monsters: 32 + misc: 16 + water: 16 + tick-inactive-villagers: true + ticks-per: + hopper-transfer: 8 + hopper-check: 1 + hopper-amount: 1 + random-light-updates: false + dragon-death-sound-radius: 0 + seed-village: 10387312 + seed-feature: 14357617 + seed-monument: 10387313 + seed-slime: 987234911 + hunger: + jump-walk-exhaustion: 0.05 + jump-sprint-exhaustion: 0.2 + combat-exhaustion: 0.1 + regen-exhaustion: 6.0 + swim-multiplier: 0.01 + sprint-multiplier: 0.1 + other-multiplier: 0.0 + max-tnt-per-tick: 100 + max-tick-time: + tile: 50 + entity: 50 + squid-spawn-range: + min: 45.0 + merge-radius: + item: 2.5 + exp: 3.0 + hanging-tick-frequency: 100 + nerf-spawner-mobs: false + zombie-aggressive-towards-villager: true + entity-tracking-range: + players: 48 + animals: 48 + monsters: 48 + misc: 32 + other: 64 + item-despawn-rate: 6000 + arrow-despawn-rate: 1200 + enable-zombie-pigmen-portal-spawns: true + wither-spawn-sound-radius: 0 + view-distance: 10 diff --git a/siverten/rlcraft/Dockerfile b/siverten/rlcraft/Dockerfile new file mode 100644 index 0000000..05cff7b --- /dev/null +++ b/siverten/rlcraft/Dockerfile @@ -0,0 +1,7 @@ +FROM siverten/magma:latest +ENV MC_RAM="2G" +COPY ./rlcraft ./ +EXPOSE 25565 +EXPOSE 25575 +VOLUME [ "/magma/plugins", "/magma/config", "/magma/world", "/magma/logs" ] +CMD java -server -Xms${MC_RAM} -Xmx${MC_RAM} -Dfml.queryResult=confirm -XX:+CMSClassUnloadingEnabled -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -Djline.terminal=jline.UnsupportedTerminal -jar Magma-*-server.jar nogui diff --git a/siverten/tor/Dockerfile b/siverten/tor/Dockerfile new file mode 100644 index 0000000..c9fc8eb --- /dev/null +++ b/siverten/tor/Dockerfile @@ -0,0 +1,4 @@ +FROM alpine:latest +RUN apk update && apk upgrade +RUN apk add tor +CMD /usr/bin/tor diff --git a/siverten/tshock/Dockerfile b/siverten/tshock/Dockerfile new file mode 100644 index 0000000..8d2c8bf --- /dev/null +++ b/siverten/tshock/Dockerfile @@ -0,0 +1,18 @@ +#FROM mono:slim +FROM frolvlad/alpine-mono:latest + +ENV TSHOCK_VERSION=latest +#RUN apt -y update && apt -y upgrade &&\ +# apt install -y wget unzip +RUN apk update && apk upgrade &&\ + apk add curl + +COPY ./start.sh /start +COPY ./install.sh / +RUN sh /install.sh +RUN rm /install.sh + +VOLUME ["/world", "/config", "/logs", "/plugins"] +WORKDIR /tshock +EXPOSE 7777 +ENTRYPOINT ["/start"] diff --git a/siverten/tshock/install.sh b/siverten/tshock/install.sh new file mode 100755 index 0000000..a28b557 --- /dev/null +++ b/siverten/tshock/install.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# tshock install script for docker container +get_latest() { + curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api + grep '"tag_name":' | # Get tag line + sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value +} +mkdir /world /config /logs /plugins /tshock +cd /tshock +[ "$TSHOCK_VERSION" == "latest" ] && TSHOCK_VERSION=`get_latest "Pryaxis/TShock"` +wget https://github.com/Pryaxis/TShock/releases/download/$TSHOCK_VERSION/TShock${TSHOCK_VERSION//v}_Terraria1.4.2.3.zip +unzip *.zip +rm *.zip +chmod +x /tshock/TerrariaServer.exe +chmod +x /start diff --git a/siverten/tshock/start.sh b/siverten/tshock/start.sh new file mode 100755 index 0000000..1aa28b4 --- /dev/null +++ b/siverten/tshock/start.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# tshock startup script +set -e +[ "$(ls -A /plugins)" ] && cp -f /plugins/* /tshock/ServerPlugins +exec mono --server --gc=sgen -O=all TerrariaServer.exe -configpath /config -worldpath /world -logpath /logs "$@" diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..efafab9 --- /dev/null +++ b/update.sh @@ -0,0 +1,4 @@ +#!/bin/sh +git pull +make build 'contexts=$(updates)' +make push 'contexts=$(updates)'