Releases: Zerschranzer/Linux-ASA-Server-Manager
v2.0
Release Update:
- Added a Docker-based version of the script (
ark_docker_manager.sh) for containerized management of ARK server instances. Dependencies are now externalized via Docker containers, with server data stored in mounted volumes to enable seamless switching between scripts. - Updated both scripts to ensure compatibility with ARK's latest update utilizing Unreal Engine 5.5. GE-Proton has been upgraded to the latest version for optimal performance.
- Completely revised README with improved structure, clearer instructions, and added images for better usability.
- Fixed a bug in the Docker manager (
ark_docker_manager.sh) causing unexpected behavior. - Corrected several minor issues that previously led to script crashes or unexpected errors.
The usage of both scripts remains identical: commands, instance creation, backups, and restarts are interchangeable. For simplicity, the README primarily addresses ark_instance_manager.sh. Docker users should simply substitute ark_docker_manager.sh following the same instructions.
Full Changelog: v1.3...v2.0
v1.3
This release focuses on streamlining the configuration process for automated server restarts and introducing various quality-of-life enhancements for managing ARK server instances. Key changes include integrating Restart Manager configuration into the main ARK Server Manager menu, refining instance management, and improving reliability and flexibility.
Key Changes
1. Integrated Restart Manager Configuration
- New "Configure Restart Manager" menu option in the main script.
- Users can now configure automated restarts from the interactive menu, eliminating the need for manual edits.
- Allows selection of server instances, setting announcement times/messages, and scheduling daily restarts.
- When scheduling restarts, the script removes any existing cron lines referencing
ark_restart_manager.shto prevent duplicates, then adds a fresh entry.
2. Refined Instance Management for Restart Configuration
- Updated
list_instancesto dynamically gather available instances into an array.- This enables a clear, user-friendly instance selection process during Restart Manager setup.
3. Enhanced Base Server Update Logic
- Update Skipping: Skips base server updates if any server instance is running, providing clear feedback to ensure safe operation.
4. Improved Shutdown Handling
- Timeout Mechanism: If a server does not stop within 30 seconds of a graceful shutdown attempt, it is forcefully terminated.
5. Flexible RCON Configuration
- Configurable
RCON_SCRIPT: Replaced static references torcon.pywith a variable, allowing more adaptable server setups.
6. Dependency Management Improvements
- Cron Detection: Enhanced
check_dependencies()to detect and suggest Cron installation for major Linux distributions (Debian, Ubuntu, Fedora, openSUSE, and Arch).
Additional Fixes and Optimizations
- Restart Manager Config Adjustment: Moved
start_wait_timefrom the "Configuration Starts Here" section into the main script logic to prevent user misconfiguration while maintaining functionality. - Single Entry Fix: Resolved an issue where the restart manager incorrectly handled a single
announcement_timesentry. - Verbose RCON Debugging: Added comprehensive debug logs in
rcon.pyfor better visibility into RCON operations.
v1.2
Enhancements:
Custom RCON Client (rcon.py)
- Developed a new custom RCON client (
rcon.py), specifically designed for the ARK Instance Manager to better align with its unique requirements. Key features include:- Silent Mode: Suppress unnecessary connection details with the
--silentflag. - Interactive Console: Allows users to send multiple commands in an interactive session.
- Robust Parsing: Processes multiple RCON packets per response, ignoring irrelevant
KEEP_ALIVEmessages for cleaner output. - Debug Mode: Includes a
--debugflag for detailed output during troubleshooting. - Error Handling: Provides meaningful error messages for login failures, timeouts, and connection issues.
- Silent Mode: Suppress unnecessary connection details with the
Server Shutdown Process
- Updated
stop_server()for improved shutdown handling:- Validates RCON response for the
DoExitcommand to ensure graceful server termination. - Automatically falls back to forced shutdown if the graceful process fails or times out.
- Validates RCON response for the
Improved Script Accessibility
- Added a
setup_symlinkfunction to streamline script usage by creating user-friendly symlinks.
Executable Checks
- Introduced
check_executables()to verify that required files (rcon.py,ark_restart_manager.sh,ark_instance_manager.sh) are executable, reducing operational errors.
Bug Fixes:
Colored Output
- Fixed color formatting issues to enhance script readability during execution.
Documentation:
README Overhaul
- Completely rewrote the README to make it clearer and more organized:
- Improved structure for easier navigation.
- Simplified instructions to enhance user understanding and accessibility.
- Added detailed examples and explanations to help users set up and manage their servers effectively.
v1.1
Enhancements:
-
Port Handling for ASA:
- Updated
start_server()to use separate parameters for ports:-Port=$GAME_PORT-QueryPort=$QUERY_PORT-RCONPort=$RCON_PORT
- Replaced the outdated
?Port=...syntax with the new required format for ARK: Survival Ascended. - Adjusted
load_instance_config()to correctly parse port settings using^Port=,^QueryPort=, and^RCONPort=for more robust configuration management.
- Updated
-
Improved Compatibility:
- Updated
PROTON_VERSIONtoGE-Proton9-21for enhanced compatibility and performance.
- Updated
Bug Fixes:
-
Max Players Setting:
- Resolved an issue where the
MaxPlayerssetting was not applied correctly. The parameter?MaxPlayers=...was replaced with-WinLiveMaxPlayers.
- Resolved an issue where the
-
Server Name Conflict:
- Added a trailing space to the
SessionNameparameter instart_server()to prevent conflicts when the instance name matches the server name.
- Added a trailing space to the
-
Instance Management:
- Updated
start_all_instances():- Skips wait time if an instance fails to start due to conflicts.
- Ensures the script returns to the main menu instead of terminating in edge cases.
- Updated
v1.0
Major update to ARK Server Manager: Backup, custom parameters, and usability improvements
New Features:
- Added backup and restore functionality (
backup_instance_world,restore_backup_to_instance) with CLI and menu integration. - Introduced
CustomStartParametersfor more flexible instance configurations. - Added port duplication checks to prevent conflicts before starting servers.
Usability Improvements:
- Reorganized main menu for logical grouping and better navigation.
v0.9
- Added warning about unique SaveDir naming
- Removed duplicate echo statements
- Added SaveWorld before server shutdown to prevent data loss
- Made minor corrections and improved consistency across the script.
- Removed save_world function from ark_restart_manager.sh script, now handled by main script's stop_server function
v0.8
- Remove erroneous ||true from load_instance_config command
- Refine instance deletion prompt: Require 'CONFIRM' to proceed
- Modified edit_instance_config function to create an empty Game.ini file if it doesn't exist
- Implement editing of GameUserSettings.ini and Game.ini in instance menu
- Added
select_editor()function to centralize editor selection logic. - Introduced
edit_configuration_menu()to allow users to choose which configuration file to edit within the instance management menu. - Made minor corrections and improved consistency across the script.
- Added ASCII art to visually separate the configuration section in ark_restart_manager.sh
v0.7
Enhance check_dependencies() function for improved compatibility and user experience
- Add support for multiple package managers (apt-get, zypper, dnf, pacman)
- Implement distribution-specific dependency checks
- Expand the list of dependencies for each supported system
- Introduce user interaction for handling missing dependencies
- Add option to suppress dependency warnings in future runs
- Provide detailed, distribution-specific installation instructions
- Implement colorized output for improved readability
- Add error handling for unsupported package managers
- Introduce a configuration file for storing user preferences
Additional enhancements:
- Introduce change_instance_name() function for renaming server instances
- Improve user interaction with 'cancel' option in various functions
- Enhance server management capabilities with stop/start functionality during instance renaming
- Update instance configuration files automatically upon changes
- Add support for managing save directories during instance renaming operations
v0.6
Improve error handling and add server state checks for start, stop, and RCON operations
- Added
set -eto enforce better error handling throughout the script and Adjusted a few functions - Updated
start_server,stop_server, andsend_rcon_commandfunctions to check if the instance is already running before proceeding. - Adjusted
start_all_instancesandstop_all_instancesto incorporate the running state check, skipping instances that are already in the desired state.
v0.5
Delete asamanager.sh