66 lines
1.8 KiB
Bash
66 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
core_name_powernukkitx() {
|
|
echo "PowerNukkitX"
|
|
}
|
|
|
|
core_default_port_powernukkitx() {
|
|
echo "19132"
|
|
}
|
|
|
|
core_protocol_powernukkitx() {
|
|
echo "udp"
|
|
}
|
|
|
|
core_runtime_powernukkitx() {
|
|
echo "java"
|
|
}
|
|
|
|
core_validate_powernukkitx() {
|
|
return 0
|
|
}
|
|
|
|
core_install_powernukkitx() {
|
|
info "$(t core_install "$(core_name_powernukkitx)")"
|
|
emit_step "core_install" "$(core_name_powernukkitx)"
|
|
|
|
local url
|
|
emit_step "core_resolve_download" "powernukkitx"
|
|
url="$(get_github_release_asset_url PowerNukkitX/PowerNukkitX 'powernukkitx.*\\.jar')"
|
|
if [[ -z "$url" || "$url" == "null" ]]; then
|
|
fail "$(t no_stable_build "PowerNukkitX" "$BUILD")"
|
|
fi
|
|
download_as_user "$url" "$SERVER_DIR/powernukkitx.jar"
|
|
create_powernukkit_start_script "$SERVER_DIR" "$RAM"
|
|
emit_step "core_render" "powernukkitx"
|
|
}
|
|
|
|
core_post_install_powernukkitx() {
|
|
emit_step "core_configure" "eula"
|
|
run_cmd bash -lc "printf 'eula=true\n' > '$SERVER_DIR/eula.txt'"
|
|
emit_step "core_chown" "PowerNukkitX"
|
|
run_cmd bash -lc "chown -R ${SERVER_USER}:${SERVER_USER} '$SERVER_DIR'"
|
|
open_firewall_port "$SERVER_PORT" "udp"
|
|
emit_step "core_service" "PowerNukkitX"
|
|
create_service "$CORE" "$SERVER_DIR" "$SERVICE_MODE" "$SERVER_DIR/start.sh"
|
|
start_service
|
|
}
|
|
|
|
core_update_powernukkitx() {
|
|
info "$(t core_update "$(core_name_powernukkitx)")"
|
|
emit_step "core_update" "$(core_name_powernukkitx)"
|
|
|
|
local target="$SERVER_DIR/powernukkitx.jar"
|
|
backup_file "$target"
|
|
emit_step "core_backup" "$target"
|
|
|
|
local url
|
|
emit_step "core_resolve_download" "powernukkitx"
|
|
url="$(get_github_release_asset_url PowerNukkitX/PowerNukkitX 'powernukkitx.*\\.jar')"
|
|
if [[ -z "$url" || "$url" == "null" ]]; then
|
|
fail "$(t no_stable_build "PowerNukkitX" "$BUILD")"
|
|
fi
|
|
download_as_user_atomic "$url" "$target"
|
|
emit_step "core_update_done" "PowerNukkitX"
|
|
}
|