#!/usr/bin/env bash core_name_paper() { echo "Paper" } core_default_port_paper() { echo "25565" } core_protocol_paper() { echo "tcp" } core_runtime_paper() { echo "java" } core_validate_paper() { return 0 } core_install_paper() { info "$(t core_install "$(core_name_paper)")" emit_step "core_install" "$(core_name_paper)" local url emit_step "core_resolve_download" "paper" url="$(get_papermc_download_url "paper" "${MC_VERSION:-latest}")" download_as_user "$url" "$SERVER_DIR/server.jar" emit_step "core_configure" "eula" run_cmd bash -lc "printf 'eula=true\n' > '$SERVER_DIR/eula.txt'" create_java_start_script "$SERVER_DIR" "server.jar" "$RAM" } core_post_install_paper() { emit_step "core_post" "Paper" run_cmd bash -lc "chown -R ${SERVER_USER}:${SERVER_USER} '$SERVER_DIR'" emit_step "core_chown" "Paper" open_firewall_port "$SERVER_PORT" "tcp" emit_step "core_service" "Paper" create_service "$CORE" "$SERVER_DIR" "$SERVICE_MODE" "$SERVER_DIR/start.sh" start_service } core_update_paper() { info "$(t core_update "$(core_name_paper)")" emit_step "core_update" "$(core_name_paper)" local target="$SERVER_DIR/server.jar" backup_file "$target" emit_step "core_backup" "$target" local url emit_step "core_resolve_download" "paper" url="$(get_papermc_download_url "paper" "${MC_VERSION:-latest}")" download_as_user_atomic "$url" "$target" emit_step "core_update_done" "Paper" }