Compare commits
No commits in common. "dev-tooling-update" and "main" have entirely different histories.
dev-toolin
...
main
41 changed files with 75 additions and 730 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,6 +1,3 @@
|
||||||
|
|
||||||
# Metadata
|
# Metadata
|
||||||
logs/
|
logs/
|
||||||
|
|
||||||
# Run-Information
|
|
||||||
.tools/
|
|
|
@ -1,19 +1,86 @@
|
||||||
version: "3.8"
|
version: "2"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
backend:
|
backend:
|
||||||
external: true
|
|
||||||
name: minecraft-backend
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
# Minecraft Network Proxy Server
|
# Minecraft Network Proxy Server
|
||||||
# >> Moved to Stack mc-bungeecord/docker-compose.yml
|
mc-bungeecord:
|
||||||
|
image: itzg/bungeecord
|
||||||
|
container_name: mc_bungeecord
|
||||||
|
mem_limit: 2GB
|
||||||
|
environment:
|
||||||
|
BUNGEE_JAR_REVISION: "1"
|
||||||
|
CFG_MOTD: Powered by Docker
|
||||||
|
REPLACE_ENV_VARIABLES: "true"
|
||||||
|
SPIGET_PLUGINS: "241,8695,68956,80677,95509"
|
||||||
|
# External Download:
|
||||||
|
# - LuckPerms BungeeCord https://luckperms.net/download
|
||||||
|
ports:
|
||||||
|
- "25565:25577"
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
volumes:
|
||||||
|
- ./mc-bungeecord:/server
|
||||||
|
- ./mc-bungeecord/config.yml:/config/config.yml
|
||||||
|
|
||||||
# Minecraft Survival Server
|
# Minecraft Survival Server
|
||||||
# >> Moved to Stack mc-survival/docker-compose.yml
|
mc-survival:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
container_name: mc_survival
|
||||||
|
mem_limit: 6GB
|
||||||
|
environment:
|
||||||
|
TYPE: "SPIGOT"
|
||||||
|
EULA: "TRUE"
|
||||||
|
MEMORY: ""
|
||||||
|
JVM_XX_OPTS: "-XX:MaxRAMPercentage=75"
|
||||||
|
ONLINE_MODE: "FALSE"
|
||||||
|
SPIGET_RESOURCES: "70616,7688,73997,34315,51856,16708,92546,28140,80677"
|
||||||
|
# External Download:
|
||||||
|
# - Emotecraft https://github.com/KosmX/emotes/releases/latest
|
||||||
|
# - 9089 EssentialsX https://essentialsx.net/downloads.html?branch=stable
|
||||||
|
# - 1884 GriefPrevention https://dev.bukkit.org/projects/grief-prevention/files/3173411
|
||||||
|
# - 93738 SimpleVoiceChat https://www.curseforge.com/minecraft/bukkit-plugins/simple-voice-chat/files/all
|
||||||
|
# - 1.19 Update-Issues 1997 ProtocolLib https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/
|
||||||
|
#ports:
|
||||||
|
# - "24454:24454"
|
||||||
|
tty: true
|
||||||
|
stdin_open: true
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
volumes:
|
||||||
|
- ./mc-survival:/data
|
||||||
|
- ./logs/survival.log:/data/logs/latest.log
|
||||||
|
|
||||||
# Minecraft Lobby, Creative, Minigames Server
|
# Minecraft Lobby, Creative, Minigames Server
|
||||||
# >> Moved to Stack mc-main/docker-compose.yml
|
mc-main:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
container_name: mc_main
|
||||||
|
mem_limit: 6GB
|
||||||
|
environment:
|
||||||
|
TYPE: "PAPER"
|
||||||
|
EULA: "TRUE"
|
||||||
|
MEMORY: ""
|
||||||
|
JVM_XX_OPTS: "-XX:MaxRAMPercentage=75"
|
||||||
|
ONLINE_MODE: "FALSE"
|
||||||
|
SPIGET_RESOURCES: "390,6245,7688,25391,63714,70616,28140,1166,80677,53036"
|
||||||
|
# External Download:
|
||||||
|
# - Emotecraft https://github.com/KosmX/emotes/releases/latest
|
||||||
|
# - 51321 AntiCooldown https://www.spigotmc.org/resources/anticooldown-1-9-1-18.51321/
|
||||||
|
# - 77506 PlotSquared https://www.spigotmc.org/resources/plotsquared-v6.77506/
|
||||||
|
# - 13932 Fast Async WorldEdit https://ci.athion.net/job/FastAsyncWorldEdit-1.17/lastStableBuild/
|
||||||
|
ports:
|
||||||
|
- "60606:60606"
|
||||||
|
tty: true
|
||||||
|
stdin_open: true
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
volumes:
|
||||||
|
- ./mc-main:/data
|
||||||
|
- ./logs/main.log:/data/logs/latest.log
|
||||||
|
|
||||||
# Nginx Proxy for Mod-support
|
# Nginx Proxy for Mod-support
|
||||||
mc-mod-proxy:
|
mc-mod-proxy:
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Encryption only needed if Connected Servers are on different Machines
|
|
||||||
#docker network create --opt encrypted --driver overlay --attachable minecraft-backend
|
|
||||||
docker network create --driver overlay --attachable minecraft-backend
|
|
1
logs/survival.log
Normal file
1
logs/survival.log
Normal file
|
@ -0,0 +1 @@
|
||||||
|
This is an example, to allow docker-compose to recognice the Mount as a file.
|
|
@ -1,6 +0,0 @@
|
||||||
BUNGEE_JAR_REVISION: "1"
|
|
||||||
CFG_MOTD: Powered by Docker
|
|
||||||
REPLACE_ENV_VARIABLES: "true"
|
|
||||||
SPIGET_PLUGINS: "241,8695,68956,80677,95509"
|
|
||||||
# External Download:
|
|
||||||
# - LuckPerms BungeeCord https://luckperms.net/download
|
|
|
@ -1,20 +0,0 @@
|
||||||
version: "3.8"
|
|
||||||
|
|
||||||
networks:
|
|
||||||
backend:
|
|
||||||
external: true
|
|
||||||
name: minecraft-backend
|
|
||||||
|
|
||||||
services:
|
|
||||||
# Minecraft Network Proxy Server
|
|
||||||
mc-bungeecord:
|
|
||||||
image: itzg/bungeecord
|
|
||||||
hostname: mc-bungeecord
|
|
||||||
env_file: .env
|
|
||||||
ports:
|
|
||||||
- "25565:25577"
|
|
||||||
networks:
|
|
||||||
- backend
|
|
||||||
volumes:
|
|
||||||
- ./mc-bungeecord:/server
|
|
||||||
- ./mc-bungeecord/config.yml:/config/config.yml
|
|
10
mc-java/.env
10
mc-java/.env
|
@ -1,10 +0,0 @@
|
||||||
# Global Vars
|
|
||||||
TYPE="SPIGOT"
|
|
||||||
VERSION="1.19"
|
|
||||||
EULA="TRUE"
|
|
||||||
ONLINE_MODE="FALSE"
|
|
||||||
# Docker Vars
|
|
||||||
JVM_XX_OPTS="-XX:MaxRAMPercentage=75"
|
|
||||||
# Host Vars
|
|
||||||
JVM_HOST_OPTS="-Xmx768M -Xms512M -jar spigot.jar nogui"
|
|
||||||
JAVA_PATH="$JAVA_HOME"
|
|
21
mc-java/.gitignore
vendored
21
mc-java/.gitignore
vendored
|
@ -1,21 +0,0 @@
|
||||||
# Copyright & Eula
|
|
||||||
server/spigot-*.jar
|
|
||||||
server/plugins/*.jar
|
|
||||||
server/plugins/*/*.jar
|
|
||||||
server/plugins/*/*/*.jar
|
|
||||||
server/eula.txt
|
|
||||||
|
|
||||||
# Run Data
|
|
||||||
server/bundler/
|
|
||||||
server/logs/
|
|
||||||
|
|
||||||
# Server and User Data
|
|
||||||
server/world*
|
|
||||||
server/banned-*.json
|
|
||||||
server/ops.json
|
|
||||||
server/usercache.json
|
|
||||||
server/whitelist.json
|
|
||||||
|
|
||||||
# Uncategorized
|
|
||||||
server/help.yml
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
mc-java:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
hostname: mc-java
|
|
||||||
env_file: .env
|
|
||||||
#ports:
|
|
||||||
# - "24454:24454"
|
|
||||||
volumes:
|
|
||||||
- ./server:/data
|
|
|
@ -1,19 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Minecraft Server
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=minecraft
|
|
||||||
Nice=1
|
|
||||||
KillMode=none
|
|
||||||
SuccessExitStatus=0 1
|
|
||||||
ProtectHome=true
|
|
||||||
ProtectSystem=full
|
|
||||||
PrivateDevices=true
|
|
||||||
NoNewPrivileges=true
|
|
||||||
WorkingDirectory=/m/project/kb-one-game-minecraft/mc-java/server
|
|
||||||
ExecStart=/usr/bin/java -Xmx768M -Xms512M -jar spigot.jar nogui
|
|
||||||
ExecStop=/m/project/kb-one-game-minecraft/.tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,7 +0,0 @@
|
||||||
# Example Minecraft Java Server
|
|
||||||
|
|
||||||
This Server Example will demonstrate all the ways to start up the Minecraft Server.
|
|
||||||
|
|
||||||
On Windows you can start it by executing the ```start.ps1``` Script.
|
|
||||||
On Linux and Mac you can start it by executing the ```start.sh``` Script.
|
|
||||||
With Docker you can run ```docker compose up``` in this Directory, or even ```docker stack deploy -c docker-compose.yml mc-java```.
|
|
|
@ -1,32 +0,0 @@
|
||||||
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
|
|
||||||
minimum-api: none
|
|
||||||
use-map-color-cache: true
|
|
||||||
spawn-limits:
|
|
||||||
monsters: 70
|
|
||||||
animals: 10
|
|
||||||
water-animals: 5
|
|
||||||
water-ambient: 20
|
|
||||||
water-underground-creature: 5
|
|
||||||
axolotls: 5
|
|
||||||
ambient: 15
|
|
||||||
chunk-gc:
|
|
||||||
period-in-ticks: 600
|
|
||||||
ticks-per:
|
|
||||||
animal-spawns: 400
|
|
||||||
monster-spawns: 1
|
|
||||||
water-spawns: 1
|
|
||||||
water-ambient-spawns: 1
|
|
||||||
water-underground-creature-spawns: 1
|
|
||||||
axolotl-spawns: 1
|
|
||||||
ambient-spawns: 1
|
|
||||||
autosave: 6000
|
|
||||||
aliases: now-in-commands.yml
|
|
|
@ -1,5 +0,0 @@
|
||||||
command-block-overrides: []
|
|
||||||
ignore-vanilla-permissions: false
|
|
||||||
aliases:
|
|
||||||
icanhasbukkit:
|
|
||||||
- version $1-
|
|
|
@ -1,5 +0,0 @@
|
||||||
# http://mcstats.org
|
|
||||||
|
|
||||||
opt-out: true
|
|
||||||
guid: 002a3092-455b-437a-a12f-ccf517cda3ff
|
|
||||||
debug: false
|
|
|
@ -1,59 +0,0 @@
|
||||||
#Minecraft server properties
|
|
||||||
#Wed Mar 22 00:55:41 CET 2023
|
|
||||||
allow-flight=false
|
|
||||||
allow-nether=true
|
|
||||||
broadcast-console-to-ops=true
|
|
||||||
broadcast-rcon-to-ops=true
|
|
||||||
debug=false
|
|
||||||
difficulty=easy
|
|
||||||
enable-command-block=false
|
|
||||||
enable-jmx-monitoring=false
|
|
||||||
enable-query=false
|
|
||||||
enable-rcon=false
|
|
||||||
enable-status=true
|
|
||||||
enforce-secure-profile=true
|
|
||||||
enforce-whitelist=false
|
|
||||||
entity-broadcast-range-percentage=100
|
|
||||||
force-gamemode=false
|
|
||||||
function-permission-level=2
|
|
||||||
gamemode=survival
|
|
||||||
generate-structures=true
|
|
||||||
generator-settings={}
|
|
||||||
hardcore=false
|
|
||||||
hide-online-players=false
|
|
||||||
initial-disabled-packs=
|
|
||||||
initial-enabled-packs=vanilla
|
|
||||||
level-name=world
|
|
||||||
level-seed=
|
|
||||||
level-type=minecraft\:normal
|
|
||||||
max-chained-neighbor-updates=1000000
|
|
||||||
max-players=20
|
|
||||||
max-tick-time=60000
|
|
||||||
max-world-size=29999984
|
|
||||||
motd=A Minecraft Server
|
|
||||||
network-compression-threshold=256
|
|
||||||
online-mode=true
|
|
||||||
op-permission-level=4
|
|
||||||
player-idle-timeout=0
|
|
||||||
prevent-proxy-connections=false
|
|
||||||
pvp=true
|
|
||||||
query.port=25565
|
|
||||||
rate-limit=0
|
|
||||||
rcon.password=
|
|
||||||
rcon.port=25575
|
|
||||||
require-resource-pack=false
|
|
||||||
resource-pack=
|
|
||||||
resource-pack-prompt=
|
|
||||||
resource-pack-sha1=
|
|
||||||
server-ip=
|
|
||||||
server-port=25565
|
|
||||||
simulation-distance=10
|
|
||||||
spawn-animals=true
|
|
||||||
spawn-monsters=true
|
|
||||||
spawn-npcs=true
|
|
||||||
spawn-protection=16
|
|
||||||
sync-chunk-writes=true
|
|
||||||
text-filtering-config=
|
|
||||||
use-native-transport=true
|
|
||||||
view-distance=10
|
|
||||||
white-list=false
|
|
|
@ -1,149 +0,0 @@
|
||||||
# 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 Discord or drop by our forums and leave a post.
|
|
||||||
#
|
|
||||||
# Discord: https://www.spigotmc.org/go/discord
|
|
||||||
# Forums: http://www.spigotmc.org/
|
|
||||||
|
|
||||||
settings:
|
|
||||||
debug: false
|
|
||||||
timeout-time: 60
|
|
||||||
restart-on-crash: true
|
|
||||||
restart-script: ./start.sh
|
|
||||||
netty-threads: 4
|
|
||||||
attribute:
|
|
||||||
maxHealth:
|
|
||||||
max: 2048.0
|
|
||||||
movementSpeed:
|
|
||||||
max: 2048.0
|
|
||||||
attackDamage:
|
|
||||||
max: 2048.0
|
|
||||||
moved-too-quickly-multiplier: 10.0
|
|
||||||
save-user-cache-on-stop-only: false
|
|
||||||
moved-wrongly-threshold: 0.0625
|
|
||||||
user-cache-size: 1000
|
|
||||||
bungeecord: false
|
|
||||||
sample-count: 12
|
|
||||||
player-shuffle: 0
|
|
||||||
log-villager-deaths: true
|
|
||||||
log-named-deaths: true
|
|
||||||
world-settings:
|
|
||||||
default:
|
|
||||||
below-zero-generation-in-existing-chunks: true
|
|
||||||
verbose: true
|
|
||||||
nerf-spawner-mobs: false
|
|
||||||
item-despawn-rate: 6000
|
|
||||||
merge-radius:
|
|
||||||
item: 2.5
|
|
||||||
exp: 3.0
|
|
||||||
simulation-distance: default
|
|
||||||
view-distance: default
|
|
||||||
thunder-chance: 100000
|
|
||||||
arrow-despawn-rate: 1200
|
|
||||||
trident-despawn-rate: 1200
|
|
||||||
seed-village: 10387312
|
|
||||||
seed-desert: 14357617
|
|
||||||
seed-igloo: 14357618
|
|
||||||
seed-jungle: 14357619
|
|
||||||
seed-swamp: 14357620
|
|
||||||
seed-monument: 10387313
|
|
||||||
seed-shipwreck: 165745295
|
|
||||||
seed-ocean: 14357621
|
|
||||||
seed-outpost: 165745296
|
|
||||||
seed-endcity: 10387313
|
|
||||||
seed-slime: 987234911
|
|
||||||
seed-nether: 30084232
|
|
||||||
seed-mansion: 10387319
|
|
||||||
seed-fossil: 14357921
|
|
||||||
seed-portal: 34222645
|
|
||||||
max-tick-time:
|
|
||||||
tile: 50
|
|
||||||
entity: 50
|
|
||||||
max-tnt-per-tick: 100
|
|
||||||
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
|
|
||||||
enable-zombie-pigmen-portal-spawns: true
|
|
||||||
dragon-death-sound-radius: 0
|
|
||||||
wither-spawn-sound-radius: 0
|
|
||||||
end-portal-sound-radius: 0
|
|
||||||
hanging-tick-frequency: 100
|
|
||||||
mob-spawn-range: 6
|
|
||||||
growth:
|
|
||||||
cactus-modifier: 100
|
|
||||||
cane-modifier: 100
|
|
||||||
melon-modifier: 100
|
|
||||||
mushroom-modifier: 100
|
|
||||||
pumpkin-modifier: 100
|
|
||||||
sapling-modifier: 100
|
|
||||||
beetroot-modifier: 100
|
|
||||||
carrot-modifier: 100
|
|
||||||
potato-modifier: 100
|
|
||||||
wheat-modifier: 100
|
|
||||||
netherwart-modifier: 100
|
|
||||||
vine-modifier: 100
|
|
||||||
cocoa-modifier: 100
|
|
||||||
bamboo-modifier: 100
|
|
||||||
sweetberry-modifier: 100
|
|
||||||
kelp-modifier: 100
|
|
||||||
twistingvines-modifier: 100
|
|
||||||
weepingvines-modifier: 100
|
|
||||||
cavevines-modifier: 100
|
|
||||||
ticks-per:
|
|
||||||
hopper-transfer: 8
|
|
||||||
hopper-check: 1
|
|
||||||
hopper-amount: 1
|
|
||||||
hopper-can-load-chunks: false
|
|
||||||
entity-activation-range:
|
|
||||||
animals: 32
|
|
||||||
monsters: 32
|
|
||||||
raiders: 48
|
|
||||||
misc: 16
|
|
||||||
tick-inactive-villagers: true
|
|
||||||
ignore-spectators: false
|
|
||||||
entity-tracking-range:
|
|
||||||
players: 48
|
|
||||||
animals: 48
|
|
||||||
monsters: 48
|
|
||||||
misc: 32
|
|
||||||
other: 64
|
|
||||||
zombie-aggressive-towards-villager: true
|
|
||||||
messages:
|
|
||||||
restart: Server is restarting
|
|
||||||
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}
|
|
||||||
commands:
|
|
||||||
silent-commandblock-console: false
|
|
||||||
replace-commands:
|
|
||||||
- setblock
|
|
||||||
- summon
|
|
||||||
- testforblock
|
|
||||||
- tellraw
|
|
||||||
spam-exclusions:
|
|
||||||
- /skill
|
|
||||||
log: true
|
|
||||||
tab-complete: 0
|
|
||||||
send-namespaced: true
|
|
||||||
advancements:
|
|
||||||
disable-saving: false
|
|
||||||
disabled:
|
|
||||||
- minecraft:story/disabled
|
|
||||||
players:
|
|
||||||
disable-saving: false
|
|
||||||
config-version: 12
|
|
||||||
stats:
|
|
||||||
disable-saving: false
|
|
||||||
forced-stats: {}
|
|
|
@ -1,27 +0,0 @@
|
||||||
$basedir=(Get-Location)
|
|
||||||
$buildtools=$basedir.Path + "\..\.tools\buildtools"
|
|
||||||
$version="1.19.4"
|
|
||||||
$java=$env:JAVA_HOME
|
|
||||||
|
|
||||||
if ( $args.count -eq 0 ) {
|
|
||||||
Set-Location ($basedir.Path+"\server")
|
|
||||||
& $java\bin\java.exe -jar (".\spigot-"+$version+".jar") --nogui
|
|
||||||
}
|
|
||||||
elseif ($args[0] -eq "background") {
|
|
||||||
$serverProcess = New-Object System.Diagnostics.ProcessStartInfo;
|
|
||||||
$serverProcess.FileName = ($java + "\bin\java.exe"); #process file
|
|
||||||
$serverProcess.Arguments = ("-jar " + $basedir.Path + "\server\spigot-"+$version+".jar --nogui");
|
|
||||||
$serverProcess.WorkingDirectory = ($basedir.Path+"\server");
|
|
||||||
$serverProcess.UseShellExecute = $false; #start the process from it's own executable file
|
|
||||||
$serverProcess.RedirectStandardInput = $true; #enable the process to read from standard input
|
|
||||||
|
|
||||||
$p = [System.Diagnostics.Process]::Start($serverProcess);
|
|
||||||
|
|
||||||
Start-Sleep -s 50 #wait 2 seconds so that the process can be up and running
|
|
||||||
|
|
||||||
$p.StandardInput.WriteLine("stop"); #StandardInput property of the Process is a .NET StreamWriter object
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Set-Location $basedir
|
|
|
@ -1,10 +0,0 @@
|
||||||
$basedir=(Get-Location)
|
|
||||||
$buildtools=$basedir.Path + "\..\.tools\buildtools"
|
|
||||||
$version="1.19.4"
|
|
||||||
$java=$env:JAVA_HOME
|
|
||||||
|
|
||||||
Set-Location $buildtools
|
|
||||||
& $java\bin\java.exe -jar .\BuildTools.jar --rev $version
|
|
||||||
|
|
||||||
Set-Location $basedir
|
|
||||||
Move-Item ($buildtools + "\spigot-" + $version + ".jar") .\server\.
|
|
11
mc-main/.env
11
mc-main/.env
|
@ -1,11 +0,0 @@
|
||||||
TYPE: "PAPER"
|
|
||||||
EULA: "TRUE"
|
|
||||||
MEMORY: ""
|
|
||||||
JVM_XX_OPTS: "-XX:MaxRAMPercentage=75"
|
|
||||||
ONLINE_MODE: "FALSE"
|
|
||||||
SPIGET_RESOURCES: "390,6245,7688,25391,63714,70616,28140,1166,80677,53036"
|
|
||||||
# External Download:
|
|
||||||
# - Emotecraft https://github.com/KosmX/emotes/releases/latest
|
|
||||||
# - 51321 AntiCooldown https://www.spigotmc.org/resources/anticooldown-1-9-1-18.51321/
|
|
||||||
# - 77506 PlotSquared https://www.spigotmc.org/resources/plotsquared-v6.77506/
|
|
||||||
# - 13932 Fast Async WorldEdit https://ci.athion.net/job/FastAsyncWorldEdit-1.17/lastStableBuild/
|
|
|
@ -1,18 +0,0 @@
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
networks:
|
|
||||||
backend:
|
|
||||||
external: true
|
|
||||||
name: minecraft-backend
|
|
||||||
|
|
||||||
services:
|
|
||||||
mc-main:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
hostname: mc-main
|
|
||||||
env_file: .env
|
|
||||||
# ports:
|
|
||||||
# - "60606:60606"
|
|
||||||
networks:
|
|
||||||
- backend
|
|
||||||
volumes:
|
|
||||||
- ./mc-main:/data
|
|
|
@ -1,12 +0,0 @@
|
||||||
TYPE: "SPIGOT"
|
|
||||||
EULA: "TRUE"
|
|
||||||
MEMORY: ""
|
|
||||||
JVM_XX_OPTS: "-XX:MaxRAMPercentage=75"
|
|
||||||
ONLINE_MODE: "FALSE"
|
|
||||||
SPIGET_RESOURCES: "70616,7688,73997,34315,51856,16708,92546,28140,80677"
|
|
||||||
# External Download:
|
|
||||||
# - Emotecraft https://github.com/KosmX/emotes/releases/latest
|
|
||||||
# - 9089 EssentialsX https://essentialsx.net/downloads.html?branch=stable
|
|
||||||
# - 1884 GriefPrevention https://dev.bukkit.org/projects/grief-prevention/files/3173411
|
|
||||||
# - 93738 SimpleVoiceChat https://www.curseforge.com/minecraft/bukkit-plugins/simple-voice-chat/files/all
|
|
||||||
# - 1.19 Update-Issues 1997 ProtocolLib https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/
|
|
|
@ -1,18 +0,0 @@
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
networks:
|
|
||||||
backend:
|
|
||||||
external: true
|
|
||||||
name: minecraft-backend
|
|
||||||
|
|
||||||
services:
|
|
||||||
mc-survival:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
hostname: mc-survival
|
|
||||||
env_file: .env
|
|
||||||
#ports:
|
|
||||||
# - "24454:24454"
|
|
||||||
networks:
|
|
||||||
- backend
|
|
||||||
volumes:
|
|
||||||
- ./mc-survival:/data
|
|
112
servertool.sh
112
servertool.sh
|
@ -1,112 +0,0 @@
|
||||||
#/bin/bash
|
|
||||||
|
|
||||||
# How to Execute this Multi-Purpose script:
|
|
||||||
# -----------------------------------------
|
|
||||||
# execute this Script in a Linux Console or Windows Powershell with:
|
|
||||||
# bash servertool
|
|
||||||
|
|
||||||
# fill script variables
|
|
||||||
BASEDIR=$(pwd)
|
|
||||||
COMMAND=$1;
|
|
||||||
shift
|
|
||||||
CONFIG=("$@")
|
|
||||||
|
|
||||||
# Help function prints information about usage of this script.
|
|
||||||
function print_help {
|
|
||||||
echo -e "
|
|
||||||
Welcome to the All in one Minecraft Server Tool
|
|
||||||
-----------------------------------------------
|
|
||||||
Usage: servertool [command] [configuration]
|
|
||||||
COMMAND\tDESCRIPTION\t\t\tEXAMPLE
|
|
||||||
setup \tInteractive Setup
|
|
||||||
create \tCreates new configuration \tservertool create test
|
|
||||||
|
|
||||||
-----------------------------------------------";
|
|
||||||
# echo -e "start \tStarts configuration";
|
|
||||||
# echo -e "stop \tStops running configuration";
|
|
||||||
# echo -e "status \tShows Information about configuration";
|
|
||||||
# echo -e "remove \tRemoves configuration";
|
|
||||||
}
|
|
||||||
|
|
||||||
function list_server {
|
|
||||||
echo -e "You have currently configured following Servers: "
|
|
||||||
for i in $(ls -d */); do
|
|
||||||
echo ${i%%/};
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_info {
|
|
||||||
echo -e "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Creates a new Server Configuration
|
|
||||||
function create_server {
|
|
||||||
local name=$1; # any string-value, please no stupid characters
|
|
||||||
local type=$2; # spigot, paper, bungeecord, waterfall, velocity, etc...
|
|
||||||
echo -e "Creating Server $name running $type"
|
|
||||||
echo -e "${#my_array[@]}"
|
|
||||||
if [ -z "${#my_array[@]}" ]; then
|
|
||||||
echo "Print create command Help"
|
|
||||||
elif [ -d "$name" ]; then
|
|
||||||
echo -e "Server $name allready exists!"
|
|
||||||
else
|
|
||||||
# mkdir "$name"
|
|
||||||
# mkdir "$name/server"
|
|
||||||
echo -e "version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
$name:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
hostname: $name
|
|
||||||
environment:
|
|
||||||
TYPE: \"$type\"
|
|
||||||
EULA: \"$eula\"
|
|
||||||
JVM_XX_OPTS: \"-XX:MaxRAMPercentage=75\"
|
|
||||||
ONLINE_MODE: \"$online\"
|
|
||||||
SPIGET_RESOURCES: \"70616,7688,73997,34315,51856,16708,92546,28140,80677\"
|
|
||||||
volumes:
|
|
||||||
- ./mc-survival:/data"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Select Command
|
|
||||||
if [[ -z "$COMMAND" || "$COMMAND" = "help" || "$COMMAND" = "--help" || "$COMMAND" = "-h" ]]; then
|
|
||||||
print_help
|
|
||||||
elif [ "$COMMAND" = "create" ]; then
|
|
||||||
echo "Creating Server";
|
|
||||||
create_server $CONFIG;
|
|
||||||
elif [ "$COMMAND" = "create" ]; then
|
|
||||||
list_server;
|
|
||||||
else
|
|
||||||
print_help
|
|
||||||
fi
|
|
||||||
#if ("$COMMAND"=="" || "$COMMAND"=="help" || "$COMMAND"=="--help" || "$COMMAND"=="-h"); then
|
|
||||||
# print_help;
|
|
||||||
#fi;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Enable job control
|
|
||||||
set -m
|
|
||||||
|
|
||||||
while false :
|
|
||||||
do
|
|
||||||
read -t 10 -p "input> " input
|
|
||||||
[[ $input == finish ]] && break
|
|
||||||
|
|
||||||
# set SIGINT to default action
|
|
||||||
trap - SIGINT
|
|
||||||
|
|
||||||
# Run the command in background
|
|
||||||
bash -c "$input" &
|
|
||||||
|
|
||||||
# Set our signal mask to ignore SIGINT
|
|
||||||
trap "" SIGINT
|
|
||||||
|
|
||||||
# Move the command back-into foreground
|
|
||||||
fg %-
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
|
@ -1,92 +0,0 @@
|
||||||
param (
|
|
||||||
[switch]$Force,
|
|
||||||
[switch]$Testing
|
|
||||||
)
|
|
||||||
|
|
||||||
$basedir=(Get-Location).Path
|
|
||||||
$toolsdir=($basedir + "\.tools")
|
|
||||||
|
|
||||||
if (!(Test-Path ".tools")){New-Item ".tools" -ItemType Directory | Out-Null; Write-Host ("Created Directory .tools")}
|
|
||||||
|
|
||||||
function setup-mcrcon {
|
|
||||||
if (!(Test-Path ($toolsdir+"\mcrcon"))) {
|
|
||||||
New-Item ".tools/mcrcon" -ItemType Directory | Out-Null; Write-Host ("Created Directory .tools/mcrcon")
|
|
||||||
}
|
|
||||||
Set-Location ($toolsdir+"\mcrcon")
|
|
||||||
$release = (Invoke-RestMethod -Uri "https://api.github.com/repos/Tiiffi/mcrcon/releases/latest")
|
|
||||||
$download = ($release.assets.Where({$_.name -like "*windows*x86-64*"},"First",1))
|
|
||||||
if (!((Test-Path $download.name -PathType Leaf) -and (Test-Path "mcrcon.exe" -PathType Leaf))){
|
|
||||||
Write-Output ("Downloading mcrcon Version '" + $release.tag_name + "' in '" + (Get-Location) + "'.")
|
|
||||||
Remove-Item "mcrcon-*-windows-x86-64.zip"
|
|
||||||
Invoke-WebRequest -Uri $download.browser_download_url -OutFile $download.name
|
|
||||||
Expand-Archive $download.name .
|
|
||||||
} else { Write-Output ("Download skipped, mcrcon Version '" + $release.tag_name + "' is allready downloaded.") }
|
|
||||||
}
|
|
||||||
|
|
||||||
function setup-buildtools {
|
|
||||||
if (!(Test-Path ($toolsdir+"\buildtools"))) {
|
|
||||||
New-Item ".tools/buildtools" -ItemType Directory | Out-Null; Write-Host ("Created Directory .tools/buildtools");
|
|
||||||
}
|
|
||||||
Set-Location ($toolsdir+"\buildtools")
|
|
||||||
if (!(Test-Path "BuildTools.jar" -PathType Leaf) -or (((get-date)-(get-item "BuildTools.jar").LastWriteTime) -gt (new-timespan -hours 2))){
|
|
||||||
Write-Output ("Downloading Build Tools in '" + (Get-Location) + "'.")
|
|
||||||
if (Test-Path "BuildTools.jar" -PathType Leaf) { Remove-Item "BuildTools.jar" }
|
|
||||||
Invoke-WebRequest -Uri https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -OutFile BuildTools.jar
|
|
||||||
} else { Write-Output ("Download skipped, File .tools/buildtools/BuildTools.jar is newer than 2h.") }
|
|
||||||
}
|
|
||||||
|
|
||||||
function setup-nssm {
|
|
||||||
if (!(Test-Path ($toolsdir+"\nssm"))) {
|
|
||||||
New-Item ".tools/nssm" -ItemType Directory | Out-Null; Write-Host ("Created Directory .tools/nssm")
|
|
||||||
}
|
|
||||||
Set-Location $basedir/.tools/nssm
|
|
||||||
$release = (Invoke-WebRequest -Uri https://nssm.cc/builds).Links.Where({$_.href -like "*ci/nssm*"},"First",1)
|
|
||||||
$archive_name = $release.href.SubString(4,22)
|
|
||||||
if (!((Test-Path ($archive_name+".zip") -PathType Leaf) -and (Test-Path "win64/nssm.exe" -PathType Leaf))) {
|
|
||||||
Write-Output ("Downloading NSSM Version '"+$archive_name.SubString(5,8)+"' in '" + (Get-Location) + "'.")
|
|
||||||
Remove-Item -Recurse *
|
|
||||||
Invoke-WebRequest -Uri ("https://nssm.cc"+$release.href) -OutFile ($archive_name+".zip")
|
|
||||||
Expand-Archive ($archive_name+".zip") .
|
|
||||||
Move-Item ($archive_name+"\*") .
|
|
||||||
Remove-Item $archive_name
|
|
||||||
} else {
|
|
||||||
Write-Output ("Download skipped, NSSM Version '"+$archive_name.SubString(5,8)+"' is allready downloaded.")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Only Setup everything locally, if Parameter force is used
|
|
||||||
if ($Force) {
|
|
||||||
Write-Output "Forcing local setup of all required tools";
|
|
||||||
setup-buildtools;
|
|
||||||
setup-mcrcon;
|
|
||||||
setup-nssm;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Testing Stuff here
|
|
||||||
if ($Testing) {
|
|
||||||
if (!(Test-Path ($toolsdir+"\java" ))){New-Item ".tools/java" -ItemType Directory | Out-Null; Write-Host ("Created Directory .tools/java" )}
|
|
||||||
# Java Download needed?
|
|
||||||
$possible_java_dirs = ($env:Path -split ';' | where{$_ -notlike "*WINDOWS*"})
|
|
||||||
$javas = @();
|
|
||||||
foreach($dir in $possible_java_dirs){
|
|
||||||
Write-Output ("Searching Java Installs in "+$dir)
|
|
||||||
Get-Childitem -Path $dir -Filter 'java.exe' -Recurse -ErrorAction SilentlyContinue | ForEach-Object {
|
|
||||||
Write-Output ("Found Java Version " + (Get-Command $_.FullName | Select-Object -ExpandProperty Version) + " at '" + $_.FullName + "'.")
|
|
||||||
$java = New-Object PsCustomObject
|
|
||||||
$java | Add-Member -type NoteProperty -name Path -Value $_.FullName
|
|
||||||
$java | Add-Member -type NoteProperty -name Version -Value (Get-Command $_.FullName | Select-Object -ExpandProperty Version)
|
|
||||||
$javas += $java
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$favourite_java = "";
|
|
||||||
if (![string]::IsNullOrEmpty($env:JAVA_HOME)) {
|
|
||||||
$favourite_java = ($env:JAVA_HOME+"\bin\java.exe")
|
|
||||||
Write-Output ("You have set JAVA_HOME Environment Variable to use Java Version " + (Get-Command ($env:JAVA_HOME+"\bin\java.exe") | Select-Object -ExpandProperty Version) + ". ")
|
|
||||||
}
|
|
||||||
else {$favourite_java = "placeholder"}
|
|
||||||
Write-Output ($javas | Sort-Object -Property Version -Descending)
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------
|
|
||||||
# Go Back to Script-Location
|
|
||||||
Set-Location $basedir
|
|
|
@ -1,27 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
BASEDIR=$(pwd)
|
|
||||||
|
|
||||||
# Helper
|
|
||||||
get_latest_release() { # Source: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create File Structure
|
|
||||||
mkdir -p ${BASEDIR}/.tools/buildtools && \
|
|
||||||
mkdir -p ${BASEDIR}/.tools/mcrcon && \
|
|
||||||
mkdir -p ${BASEDIR}/.tools/java
|
|
||||||
|
|
||||||
# Setup mcrcon
|
|
||||||
cd ${BASEDIR}/.tools/mcrcon/ && \
|
|
||||||
LATEST=$(get_latest_release Tiiffi/mcrcon) && \
|
|
||||||
ARCHIVE_NAME="mcrcon-${LATEST[@]/v/}-linux-x86-64.tar.gz" && \
|
|
||||||
curl -L -o ${ARCHIVE_NAME} https://github.com/Tiiffi/mcrcon/releases/download/${LATEST}/${ARCHIVE_NAME} && \
|
|
||||||
tar xfz ${ARCHIVE_NAME}
|
|
||||||
#chmod +x mcrcon #Needed?
|
|
||||||
|
|
||||||
# Setup BuildTools
|
|
||||||
cd ${BASEDIR}/.tools/buildtools && \
|
|
||||||
curl -L -o BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
|
|
|
@ -1,44 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
BASEDIR=$(pwd)
|
|
||||||
|
|
||||||
# Helper
|
|
||||||
get_latest_release() { # Source: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
# Install Essentials
|
|
||||||
#sudo apt-get update
|
|
||||||
#sudo apt-get -yq install git build-essential gnupg curl
|
|
||||||
|
|
||||||
# Open JDK install Zulu: Package-Manager apt
|
|
||||||
#sudo apt-key adv \
|
|
||||||
# --keyserver hkp://keyserver.ubuntu.com:80 \
|
|
||||||
# --recv-keys 0xB1998361219BD9C9
|
|
||||||
#sudo apt-get update
|
|
||||||
#sudo apt-get install zulu16-jdk
|
|
||||||
|
|
||||||
# Open JDK install Zulu: Direct Download
|
|
||||||
#curl -O https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-2_all.deb
|
|
||||||
#sudo apt-get install ./zulu-repo_1.0.0-2_all.deb
|
|
||||||
|
|
||||||
# Open JDK install Zulu: Portable
|
|
||||||
#curl -o jdk17.tar.gz https://cdn.azul.com/zulu/bin/zulu17.40.19-ca-jdk17.0.6-linux_x64.tar.gz
|
|
||||||
#tar xfz jdk17.tar.gz
|
|
||||||
|
|
||||||
|
|
||||||
# Create File Structure
|
|
||||||
mkdir -p ${BASEDIR}/.tools/buildtools && \
|
|
||||||
mkdir -p ${BASEDIR}/.tools/java && \
|
|
||||||
|
|
||||||
# Setup mcrcon
|
|
||||||
LATEST=$(get_latest_release Tiiffi/mcrcon)
|
|
||||||
curl -o ${BASEDIR}/tools/mcrcon/mcrcon https://github.com/Tiiffi/mcrcon/releases/download/${LATEST}/mcrcon-${LATEST[@]/v/}-windows-x86-64.zip
|
|
||||||
cd ${BASEDIR}/tools && git clone https://github.com/Tiiffi/mcrcon.git \
|
|
||||||
&& cd ${BASEDIR}/tools/mcrcon && gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
|
|
||||||
|
|
||||||
# Setup Spigot
|
|
||||||
cd ${BASEDIR}/tools/buildtools && curl -o BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar \
|
|
||||||
&& java -jar BuildTools.jar --rev 1.17
|
|
Loading…
Add table
Reference in a new issue