autocommit

This commit is contained in:
LinuxSquare 2024-04-21 15:39:51 +02:00
parent b2ba664349
commit cb58602906
4 changed files with 15 additions and 5 deletions

View file

@ -23,9 +23,9 @@ operations:
$(basename ${0}) {-v --verbose} $(basename ${0}) {-v --verbose}
$(basename ${0}) {--init} [servername] [network name] $(basename ${0}) {--init} [servername] [network name]
$(basename ${0}) {--datapack} [servername] [datapack dl url] $(basename ${0}) {--datapack} [servername] [datapack dl url]
$(basename ${0}) {--start} [servername] [port] (ip) $(basename ${0}) {--start} [servername] [port] [ip]
$(basename ${0}) {--stop} [servername] $(basename ${0}) {--stop} [servername]
$(basename ${0}) {--restart} [servername] [port] (ip) $(basename ${0}) {--restart} [servername] [port] [ip]
$(basename ${0}) {--attach} [servername] $(basename ${0}) {--attach} [servername]
$(basename ${0}) {--reset} [servername] $(basename ${0}) {--reset} [servername]
$(basename ${0}) {--delete} [servername] $(basename ${0}) {--delete} [servername]

View file

@ -1,5 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function broadcast() { function broadcast() {
podman exec -it "$1" $2 local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
podman exec -it "$1" rcon -m -H 127.0.0.1 -p 25575 -P $(grep -E "^rcon.password" $dir/data/server.properties | cut -d= -f2) tellraw @a {"text": "$2"}
} }

View file

@ -10,6 +10,7 @@ function init() {
local newdir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}" local newdir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
mkdir -p "${newdir}/data/world/datapacks" mkdir -p "${newdir}/data/world/datapacks"
echo -e "enable-rcon=true\nrcon.password=" > "${newdir}/data/server.properties"
populateConfig "${newdir}/config.json" "${2}" populateConfig "${newdir}/config.json" "${2}"
} }

View file

@ -93,9 +93,13 @@ function buildImage() {
## ##
function startContainer() { function startContainer() {
log d "Starting container '${1}'" log d "Starting container '${1}'"
readarray -t additional_ports <<< "$(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} 'additional_ports[]')"
local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
sed -i "s/^rcon.password=.*/rcon.password=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w12 | head -n1)/" $dir/data/server.properties
readarray -t additional_ports <<< "$(getLocalConfValue $dir 'additional_ports[]')"
[[ ${#additional_ports} -gt 0 ]] && log d "Starting with additional ports: ${additional_ports[@]}" [[ ${#additional_ports} -gt 0 ]] && log d "Starting with additional ports: ${additional_ports[@]}"
podman run --replace --name "${1}" --userns=keep-id:uid=1000 --rm -it -d --network "${5}" -p $([[ -n "${4}" ]] && echo ${4}:)${3}:25565 $([[ ${#additional_ports} -gt 0 ]] && for port in "${additional_ports[@]}"; do echo "-p $([[ -n ${4} ]] && echo ${4}:)${port}:${port}"; done) -v $(getValueByKey 'PODMAN_DIRECTORY')/${1}/data:/var/server "${2}" java -Dcom.mojang.eula.agree=true -jar /var/exec/server.jar --nogui --port 25565 podman run --replace --name "${1}" --userns=keep-id:uid=1000 --rm -it -d --network "${5}" -p $([[ -n "${4}" ]] && echo ${4}:)${3}:25565 $([[ ${#additional_ports} -gt 0 ]] && for port in "${additional_ports[@]}"; do echo "-p $([[ -n ${4} ]] && echo ${4}:)${port}:${port}"; done) -v $dir/data:/var/server "${2}" java -Dcom.mojang.eula.agree=true -jar /var/exec/server.jar --nogui --port 25565
[[ $? -eq 0 ]] && log s "Container '${1}' started!" [[ $? -eq 0 ]] && log s "Container '${1}' started!"
} }
@ -107,6 +111,10 @@ function startContainer() {
function stopContainer() { function stopContainer() {
log d "Stopping container '${1}'" log d "Stopping container '${1}'"
podman container stop --time 100 ${1} podman container stop --time 100 ${1}
local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
sed -i "s/^rcon.password=.*/rcon.password=/" $dir/data/server.properties
log s "Container '${1}' stopped" log s "Container '${1}' stopped"
} }