Compare commits
20 Commits
801826e5c9
...
master
Author | SHA1 | Date | |
---|---|---|---|
1b8b74628d | |||
2e8b32f7b5 | |||
2fb112760c | |||
cdf7ef26f6 | |||
1decd34840 | |||
d40d907fe5 | |||
a6baf5cbb5 | |||
245aa1429b | |||
66e5e61d74 | |||
031a5175b9 | |||
8c3769180d | |||
45983f1d10 | |||
87cc59271e | |||
9dbc6d5139 | |||
e32b549dea | |||
cf22784b17 | |||
0f353654eb | |||
87d21ac86a | |||
c116be2f1c | |||
da03dbca37 |
25
.drone.yml
Normal file
25
.drone.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: build and push
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build and push
|
||||||
|
image: docker:dind
|
||||||
|
volumes:
|
||||||
|
- name: docker.sock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
environment:
|
||||||
|
REG:
|
||||||
|
from_secret: registry
|
||||||
|
commands:
|
||||||
|
- mkdir ~/.docker
|
||||||
|
- echo "$REG" > ~/.docker/config.json
|
||||||
|
- apk add make
|
||||||
|
- make all
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: docker.sock
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
|
6
LICENSE
6
LICENSE
@ -208,8 +208,8 @@ If you develop a new program, and you want it to be of the greatest possible use
|
|||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
|
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
Dockerfiles developed and maintained by Sivert V. Sæther.
|
||||||
Copyright (C) <year> <name of author>
|
Copyright (C) 2021 Sivert V. Sæther <dockerfiles@sivert.pw>
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
@ -221,7 +221,7 @@ Also add information on how to contact you by electronic and paper mail.
|
|||||||
|
|
||||||
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
|
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
Dockerfiles Copyright (C) 2021 Sivert V. Sæther <dockerfiles@sivert.pw>
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
|
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
26
Makefile
Normal file
26
Makefile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
.PHONY: build push hub build_reg push_reg registry all
|
||||||
|
|
||||||
|
modded_mc = magma rlcraft
|
||||||
|
mc_contexts = $(modded_mc) papermc waterfall
|
||||||
|
game_contexts = $(mc_contexts) tshock
|
||||||
|
|
||||||
|
contexts = ansible bind9 oxen tor $(game_contexts)
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(foreach context,$(contexts),docker build --pull siverten/$(context) -t siverten/$(context);)
|
||||||
|
push:
|
||||||
|
$(foreach context,$(contexts),docker push siverten/$(context);)
|
||||||
|
hub: build push
|
||||||
|
|
||||||
|
|
||||||
|
reg_contexts = #xmr-stak
|
||||||
|
|
||||||
|
build_reg:
|
||||||
|
$(foreach context,$(reg_contexts),docker build --pull $(context) -t $(context);docker tag $(context) registry.42069.no/$(context))
|
||||||
|
push_reg:
|
||||||
|
$(foreach context,$(reg_contexts),docker push registry.42069.no/$(context);)
|
||||||
|
|
||||||
|
|
||||||
|
registry: build_reg push_reg
|
||||||
|
all: hub registry
|
||||||
|
|
13
README.md
13
README.md
@ -1,4 +1,13 @@
|
|||||||
# Dockerfiles
|
# Dockerfiles
|
||||||
|
[![Build Status](https://drone.42069.no/api/badges/siv/dockerfiles/status.svg)](https://drone.42069.no/siv/dockerfiles)
|
||||||
|
|
||||||
|
Dockerfiles autored by me! I'm Sivert V. Sæther.
|
||||||
|
The siverten/ folder contains docker images you may find on
|
||||||
|
[DockerHub](https://hub.docker.com/u/siverten).
|
||||||
|
|
||||||
|
I would love for anyone to contriblute, but for the time being
|
||||||
|
this is hosted on my very own, pretty obscure git server.
|
||||||
|
|
||||||
|
## The sh folder
|
||||||
|
Contians a script and symlinks for using the Makefile.
|
||||||
|
|
||||||
Only Dockerfiles for build images so far.
|
|
||||||
Will most certanly put some other useful Dockerfiles here later.
|
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
build_rust() {
|
|
||||||
docker build --pull -t registry.sivert.pw/build/rust:latest rust
|
|
||||||
}
|
|
||||||
|
|
||||||
push_rust() {
|
|
||||||
docker push registry.sivert.pw/build/rust:latest
|
|
||||||
}
|
|
||||||
|
|
||||||
build_and_push_rust() {
|
|
||||||
build_rust
|
|
||||||
push_rust
|
|
||||||
}
|
|
||||||
|
|
||||||
echo ''
|
|
||||||
echo ' --- image-builder.sh (6000) ---'
|
|
||||||
echo ''
|
|
||||||
echo ' 0 - exit'
|
|
||||||
echo ''
|
|
||||||
echo ' # rust'
|
|
||||||
echo ' 1 - build'
|
|
||||||
echo ' 2 - both'
|
|
||||||
echo ' 3 - push'
|
|
||||||
echo ''
|
|
||||||
|
|
||||||
# TODO: add submenus for more build images
|
|
||||||
loop() {
|
|
||||||
echo -n 'what numba? '
|
|
||||||
read -r todo
|
|
||||||
case $todo in
|
|
||||||
'0') exit 0 ;;
|
|
||||||
'1') build_rust ;;
|
|
||||||
'2') build_and_push_rust ;;
|
|
||||||
'3') push_rust ;;
|
|
||||||
*) loop && exit 0;; # sus
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
loop
|
|
@ -1,7 +1,9 @@
|
|||||||
FROM archlinux:base-devel
|
FROM alpine:edge
|
||||||
|
|
||||||
RUN pacman -Suyy --noconfirm\
|
RUN apk update && apk upgrade
|
||||||
rustup docker
|
RUN apk add rustup
|
||||||
RUN rustup toolchain install stable
|
RUN rustup-init -y
|
||||||
|
|
||||||
CMD [ "bash" ]
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||||
|
|
||||||
|
CMD [ "ash" ]
|
||||||
|
1
sh/build.sh
Symbolic link
1
sh/build.sh
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
docker.sh
|
10
sh/docker.sh
Executable file
10
sh/docker.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
op=`basename $0 .sh`
|
||||||
|
for context in $*; do
|
||||||
|
if [ "$op" == "build" ]; then
|
||||||
|
extra=" -t $context:latest"
|
||||||
|
else
|
||||||
|
extra=":latest"
|
||||||
|
fi
|
||||||
|
docker "$op" "$context"$extra
|
||||||
|
done
|
1
sh/push.sh
Symbolic link
1
sh/push.sh
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
docker.sh
|
24
siverten/README.md
Normal file
24
siverten/README.md
Normal file
@ -0,0 +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.
|
7
siverten/ansible/Dockerfile
Normal file
7
siverten/ansible/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
RUN apk update && apk upgrade
|
||||||
|
RUN apk add ansible expect
|
||||||
|
|
||||||
|
CMD ansible
|
||||||
|
|
5
siverten/bind9/Dockerfile
Normal file
5
siverten/bind9/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
RUN apk update && apk upgrade
|
||||||
|
RUN apk --no-cache add bind bind-dnssec-tools
|
||||||
|
EXPOSE 53
|
||||||
|
CMD ["named", "-c", "/etc/bind/named.conf", "-g", "-u", "named"]
|
26
siverten/magma/Dockerfile
Normal file
26
siverten/magma/Dockerfile
Normal 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
37
siverten/magma/bukkit.yml
Normal 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
51
siverten/magma/magma.yml
Normal 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
8
siverten/magma/ops.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"uuid": "b879ccdf-6408-4420-93aa-6441d5f315e8",
|
||||||
|
"name": "GhostZephyr",
|
||||||
|
"level": 4,
|
||||||
|
"bypassesPlayerLimit": true
|
||||||
|
}
|
||||||
|
]
|
48
siverten/magma/paper.yml
Normal file
48
siverten/magma/paper.yml
Normal 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
|
40
siverten/magma/server.properties
Normal file
40
siverten/magma/server.properties
Normal 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
124
siverten/magma/spigot.yml
Normal 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
|
12
siverten/oxen/Dockerfile
Normal file
12
siverten/oxen/Dockerfile
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
FROM debian:10
|
||||||
|
|
||||||
|
RUN apt update
|
||||||
|
RUN apt install -y curl
|
||||||
|
|
||||||
|
RUN curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
|
||||||
|
RUN echo "deb https://deb.oxen.io buster main" | tee /etc/apt/sources.list.d/oxen.list
|
||||||
|
|
||||||
|
RUN apt update -y && apt upgrade -y
|
||||||
|
RUN apt install -y oxen-service-node
|
||||||
|
|
||||||
|
CMD [ "oxend", "--non-interactive" ]
|
17
siverten/papermc/Dockerfile
Normal file
17
siverten/papermc/Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM openjdk:17-slim
|
||||||
|
|
||||||
|
ENV MC_VERSION="latest" \
|
||||||
|
PAPER_BUILD="latest" \
|
||||||
|
MC_RAM="4G" \
|
||||||
|
JAVA_OPTS=""
|
||||||
|
|
||||||
|
ADD papermc.sh .
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y wget \
|
||||||
|
&& apt-get install -y jq \
|
||||||
|
&& mkdir /papermc
|
||||||
|
|
||||||
|
CMD ["sh", "./papermc.sh"]
|
||||||
|
|
||||||
|
EXPOSE 25565
|
||||||
|
VOLUME /papermc
|
31
siverten/papermc/papermc.sh
Executable file
31
siverten/papermc/papermc.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cd papermc
|
||||||
|
urlPrefix=https://papermc.io/api/v2/projects/paper
|
||||||
|
if [ ${MC_VERSION} = latest ]; then
|
||||||
|
MC_VERSION=$(wget -qO - $urlPrefix | jq -r '.versions[-1]') # "-r" is needed because the output has quotes otherwise
|
||||||
|
fi
|
||||||
|
urlPrefix=${urlPrefix}/versions/${MC_VERSION}
|
||||||
|
if [ ${PAPER_BUILD} = latest ]; then
|
||||||
|
PAPER_BUILD=$(wget -qO - $urlPrefix | jq '.builds[-1]')
|
||||||
|
fi
|
||||||
|
JAR_NAME=papermc-${MC_VERSION}-${PAPER_BUILD}.jar
|
||||||
|
if [ ! -e ${JAR_NAME} ]; then
|
||||||
|
rm -f *.jar
|
||||||
|
wget ${urlPrefix}/builds/${PAPER_BUILD}/downloads/paper-${MC_VERSION}-${PAPER_BUILD}.jar -O ${JAR_NAME}
|
||||||
|
if [ ! -e eula.txt ]; then
|
||||||
|
java -jar ${JAR_NAME}
|
||||||
|
sed -i 's/false/true/g' eula.txt
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
#exec java -server -Xms${MC_RAM} -Xmx${MC_RAM} ${JAVA_OPTS} -jar ${JAR_NAME} nogui
|
||||||
|
exec java -Xms${MC_RAM} -Xmx${MC_RAM} -XX:+UseG1GC \
|
||||||
|
-XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
|
||||||
|
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC \
|
||||||
|
-XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \
|
||||||
|
-XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 \
|
||||||
|
-XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
|
||||||
|
-XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 \
|
||||||
|
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \
|
||||||
|
${JAVA_OPTS} -jar ${JAR_NAME} nogui
|
||||||
|
|
5
siverten/pwn/Dockerfile
Normal file
5
siverten/pwn/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM kalilinux/kali-bleeding-edge:latest
|
||||||
|
|
||||||
|
RUN apt update && apt -y upgrade
|
||||||
|
RUN apt -y install metasploit-framework nmap msfpc
|
||||||
|
|
7
siverten/rlcraft/Dockerfile
Normal file
7
siverten/rlcraft/Dockerfile
Normal 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
|
5
siverten/tor/Dockerfile
Normal file
5
siverten/tor/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
RUN apk update && apk upgrade
|
||||||
|
RUN apk add tor
|
||||||
|
EXPOSE 9030 9050 9051 9090
|
||||||
|
CMD /usr/bin/tor
|
18
siverten/tshock/Dockerfile
Normal file
18
siverten/tshock/Dockerfile
Normal 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
15
siverten/tshock/install.sh
Executable 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
5
siverten/tshock/start.sh
Executable 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 "$@"
|
35
siverten/waterfall/Dockerfile
Normal file
35
siverten/waterfall/Dockerfile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG WATERFALL_VERSION=latest
|
||||||
|
ARG JAVA_VERSION=11
|
||||||
|
|
||||||
|
FROM alpine AS tools
|
||||||
|
RUN apk add --update-cache --no-cache \
|
||||||
|
curl \
|
||||||
|
jq
|
||||||
|
|
||||||
|
FROM tools AS waterfall
|
||||||
|
RUN if test -z "${WATERFALL_VERSION}" || test "${WATERFALL_VERSION}" == "latest" || test "${WATERFALL_VERSION}" == "master"; then \
|
||||||
|
echo "### Fetching latest version"; \
|
||||||
|
WATERFALL_VERSION=$(\
|
||||||
|
curl --silent --location https://papermc.io/api/v1/waterfall/ | \
|
||||||
|
jq --raw-output '.versions[0]' \
|
||||||
|
); \
|
||||||
|
fi && \
|
||||||
|
echo "### Using version <${WATERFALL_VERSION}>" && \
|
||||||
|
WATERFALL_VERSION_PATCH=$(\
|
||||||
|
curl --silent --location https://papermc.io/api/v1/waterfall/${WATERFALL_VERSION}/ | \
|
||||||
|
jq --raw-output '.builds.latest' \
|
||||||
|
) && \
|
||||||
|
echo "### Using patch <${WATERFALL_VERSION_PATCH}>" && \
|
||||||
|
curl --silent --location --fail --output /waterfall.jar https://papermc.io/api/v1/waterfall/${WATERFALL_VERSION}/${WATERFALL_VERSION_PATCH}/download
|
||||||
|
|
||||||
|
FROM openjdk:${JAVA_VERSION}-jre
|
||||||
|
RUN useradd --create-home --shell /bin/bash minecraft \
|
||||||
|
&& mkdir -p /opt/waterfall /waterfall \
|
||||||
|
&& chown -R minecraft /waterfall/
|
||||||
|
COPY --from=waterfall /waterfall.jar /opt/waterfall/
|
||||||
|
USER minecraft
|
||||||
|
WORKDIR /waterfall
|
||||||
|
VOLUME /waterfall
|
||||||
|
EXPOSE 25565
|
||||||
|
ENV JAVA_MEM=1G
|
||||||
|
CMD java -Xms${JAVA_MEM} -Xmx${JAVA_MEM} -jar /opt/waterfall/waterfall.jar
|
5
xmr-stak/Dockerfile
Normal file
5
xmr-stak/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
RUN apk add python3
|
||||||
|
COPY ./ /opt
|
||||||
|
WORKDIR /opt
|
||||||
|
CMD ./miner.py -m1
|
1
xmr-stak/config.txt
Normal file
1
xmr-stak/config.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
"call_timeout": 10, "retry_time": 30, "giveup_limit": 0, "verbose_level": 4, "print_motd": false, "h_print_time": 300, "aes_override": null, "use_slow_memory": "always", "tls_secure_algo": true, "daemon_mode": false, "output_file": "", "httpd_port": 8080, "http_login": "", "http_pass": "", "prefer_ipv4": false,
|
1
xmr-stak/cpu.txt
Normal file
1
xmr-stak/cpu.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
"cpu_threads_conf": [{"low_power_mode": 5, "affine_to_cpu": false}, {"low_power_mode": 5, "affine_to_cpu": false}],
|
112
xmr-stak/miner.py
Executable file
112
xmr-stak/miner.py
Executable file
@ -0,0 +1,112 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
from subprocess import Popen, PIPE
|
||||||
|
from getopt import gnu_getopt, GetoptError
|
||||||
|
from json import dumps, loads
|
||||||
|
from os import environ
|
||||||
|
|
||||||
|
from sys import stdout, stdin
|
||||||
|
|
||||||
|
if environ.get('SLOW_MEMORY') == None:
|
||||||
|
environ['SLOW_MEMORY'] = 'warn'
|
||||||
|
if environ.get('WORK_GROUP') == None:
|
||||||
|
environ['WORK_GROUP'] = 'testing'
|
||||||
|
|
||||||
|
xmr = {
|
||||||
|
'config.txt': {
|
||||||
|
"call_timeout": 10,
|
||||||
|
"retry_time": 30,
|
||||||
|
"giveup_limit": 0,
|
||||||
|
"verbose_level": 4,
|
||||||
|
"print_motd": False,
|
||||||
|
"h_print_time": 300,
|
||||||
|
"aes_override": None,
|
||||||
|
"use_slow_memory": environ['SLOW_MEMORY'],
|
||||||
|
"tls_secure_algo": True,
|
||||||
|
"daemon_mode": False,
|
||||||
|
"output_file": "", #"/var/log/xmr-stak-rx.log",
|
||||||
|
"httpd_port": 8080,
|
||||||
|
"http_login": "",
|
||||||
|
"http_pass": "",
|
||||||
|
"prefer_ipv4": False,
|
||||||
|
},
|
||||||
|
'pools.txt': { "pool_list": [ {
|
||||||
|
"pool_address": "europe.randomx-hub.miningpoolhub.com:20580",
|
||||||
|
"wallet_address": f"Ghost-Zephyr.{environ['WORK_GROUP']}", "rig_id" : "",
|
||||||
|
"pool_password": "x", "use_nicehash": False, "use_tls": False, "tls_fingerprint": "",
|
||||||
|
"pool_weight": 1 },
|
||||||
|
], "currency": "monero" },
|
||||||
|
'cpu.txt': {
|
||||||
|
"cpu_threads_conf" : [
|
||||||
|
#{ "low_power_mode": 5, "affine_to_cpu": false },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sys = []
|
||||||
|
|
||||||
|
def usage():
|
||||||
|
print('''
|
||||||
|
Docker cryptominer script.
|
||||||
|
Automagically generates configs and runs miner programs inside a container.
|
||||||
|
|
||||||
|
-h --help, shows this.
|
||||||
|
-m --monero [n], mines monero with n threads.
|
||||||
|
''')
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
try:
|
||||||
|
opts, _ = gnu_getopt(argv, 'm:h', ['monero=', 'help'])
|
||||||
|
if len(opts) < 1:
|
||||||
|
usage()
|
||||||
|
exit()
|
||||||
|
for o, a in opts:
|
||||||
|
if o in ('-m', '--monero'):
|
||||||
|
monero(a)
|
||||||
|
elif o in ('-h', '--help'):
|
||||||
|
usage()
|
||||||
|
exit()
|
||||||
|
else:
|
||||||
|
assert False, "unhandled option"
|
||||||
|
#calls(sys)
|
||||||
|
except GetoptError as err:
|
||||||
|
print(f'\n{err}')
|
||||||
|
usage()
|
||||||
|
|
||||||
|
def monero(threads):
|
||||||
|
try:
|
||||||
|
for _ in range(0, int(threads)):
|
||||||
|
xmr['cpu.txt']['cpu_threads_conf'].append({ "low_power_mode": 5, "affine_to_cpu": False })
|
||||||
|
for c in xmr:
|
||||||
|
with open(c, 'r') as f:
|
||||||
|
d = f.readline()
|
||||||
|
if f'{dumps(xmr[c])[1:-1]},' != d:
|
||||||
|
with open(c, 'w') as f:
|
||||||
|
f.write(f'{dumps(xmr[c])[1:-1]},')
|
||||||
|
print(f'Config {c} updated.')
|
||||||
|
else:
|
||||||
|
print(f'Config {c} unchanged.')
|
||||||
|
#sys.append(xmr)
|
||||||
|
p = Popen(['./xmr-stak-rx', '--currency', 'monero', '--config', 'config.txt', '--noDevSupport', '--noTest'], stdout=PIPE, stderr=PIPE, stdin=stdin)
|
||||||
|
for c in iter(lambda: p.stdout.readline(1), b''): stdout.write(c.decode('utf-8'))
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
p.terminate()
|
||||||
|
o, _ = p.communicate()
|
||||||
|
print(o.decode('utf-8'))
|
||||||
|
except NameError:
|
||||||
|
print('\\nGot keyboard interrupt beafore starting xmr-stak-rx.')
|
||||||
|
except ValueError:
|
||||||
|
print('\nThreads has to be a number.')
|
||||||
|
usage()
|
||||||
|
|
||||||
|
def calls(sys):
|
||||||
|
if len(sys) > 1:
|
||||||
|
raise NotImplementedError # TODO: syscall hander with std pipes to run multiple miners at once. subprocess.Popen?
|
||||||
|
if 'xmr' in sys:
|
||||||
|
p = Popen('./xmr-stak-rx --currency monero --config config.txt --noDevSupport --noTest', shell=True, stdout=PIPE, stderr=PIPE, stdin=stdin)
|
||||||
|
o, _ = p.communicate()
|
||||||
|
print(o.decode('utf-8'))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
from sys import argv
|
||||||
|
main(argv[1:])
|
||||||
|
|
1
xmr-stak/pools.txt
Normal file
1
xmr-stak/pools.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
"pool_list": [{"pool_address": "europe.randomx-hub.miningpoolhub.com:20580", "wallet_address": "Ghost-Zephyr.datacenter", "rig_id": "", "pool_password": "x", "use_nicehash": false, "use_tls": false, "tls_fingerprint": "", "pool_weight": 1}], "currency": "monero",
|
BIN
xmr-stak/xmr-stak-rx
Executable file
BIN
xmr-stak/xmr-stak-rx
Executable file
Binary file not shown.
Loading…
Reference in New Issue
Block a user