Added siverten/ game server images, a tor image and a utility script

This commit is contained in:
Sivert V. Sæther 2021-09-14 17:13:40 +02:00
parent 87d21ac86a
commit 0f353654eb
15 changed files with 415 additions and 8 deletions

View File

@ -1,4 +1,9 @@
contexts = siverten/bind9 siverten/oxen mc_contexts = siverten/magma siverten/rlcraft
game_contexts = $(mc_contexts) siverten/tshock
contexts = siverten/bind9 siverten/oxen siverten/tor\
$(game_contexts)
updates = $(contexts)
siverten/bind9: siverten/bind9:
docker build siverten/bind9 docker build siverten/bind9

View File

@ -1,9 +1,24 @@
# Docker files for siverten/ docker images on the DockerHub registry! # 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 ### bind9
Simple alpine based bind9 docker image. Simple alpine based bind9 docker image.
### oxen
A bit more bloated debian based docker image for running nodes
on the oxen/loki crypto network.

26
siverten/magma/Dockerfile Normal file
View File

@ -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

37
siverten/magma/bukkit.yml Normal file
View File

@ -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

51
siverten/magma/magma.yml Normal file
View File

@ -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

8
siverten/magma/ops.json Normal file
View File

@ -0,0 +1,8 @@
[
{
"uuid": "b879ccdf-6408-4420-93aa-6441d5f315e8",
"name": "GhostZephyr",
"level": 4,
"bypassesPlayerLimit": true
}
]

48
siverten/magma/paper.yml Normal file
View File

@ -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

View File

@ -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!

124
siverten/magma/spigot.yml Normal file
View File

@ -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

View File

@ -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

4
siverten/tor/Dockerfile Normal file
View File

@ -0,0 +1,4 @@
FROM alpine:latest
RUN apk update && apk upgrade
RUN apk add tor
CMD /usr/bin/tor

View File

@ -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"]

15
siverten/tshock/install.sh Executable file
View File

@ -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

5
siverten/tshock/start.sh Executable file
View File

@ -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 "$@"

4
update.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
git pull
make build 'contexts=$(updates)'
make push 'contexts=$(updates)'