Commit Graph

309 Commits

Author SHA1 Message Date
Francesco Borzì
50b36e842a fix(docs/license): use GPLv2 as MaNGOS-based project (#23655) 2025-11-14 08:44:25 -03:00
Luca Folloni
b272f503ff fix(Core): Change client data downloader version to v18.0 (#23546) 2025-11-05 13:18:17 -03:00
Luca Folloni
ee955e74ab fix(Core): Update client data downloader version to v18 (#23544) 2025-11-05 12:09:47 -03:00
Yehonal
a05cc525f0 feat(Config): Implement configuration severity policy and logging mechanism (#23284) 2025-10-25 01:16:09 +02:00
Ryan Turner
77a1b45fc7 fix(apps/bash) - Command substitution for backtick command / statement. (#23344) 2025-10-24 22:13:09 +01:00
Francesco Borzì
ce840795c5 fix(CI): eluna->ale mod rename (#23382) 2025-10-24 09:50:23 -03:00
sudlud
d48fe843cd fix(CI/modules-build): rename mod-eluna to mod-ale (#23379) 2025-10-24 09:49:14 -03:00
sudlud
d2a9c6468b fix(apps/installer): expired key issue, bump mysql-apt-config to 0.8.35-1 (#23356)
Co-authored-by: Degen <61268368+aradep@users.noreply.github.com>
2025-10-24 11:58:12 +02:00
privatecore
e8b521b863 fix(CI/Windows): installer script - update MYSQL version to 8.4.6 (#23348) 2025-10-22 17:22:33 +02:00
Yehonal
4c3eab650c feat(apps/service-manager): Add logging output for service uptime checks (#23252) 2025-10-16 11:30:04 +02:00
sudlud
0822bc34d7 fix(apps/installer): bump client-data to v17 (#23256) 2025-10-15 23:44:13 +01:00
Tereneckla
90e0c75616 fix(Bash): installer also copies module configs (#23231) 2025-10-15 21:45:49 +02:00
Yehonal
cfc8678843 feat(bash): several chores to bash scripts: (#23250) 2025-10-15 02:10:14 +02:00
Yehonal
8d4fb5b4b4 fix(bash/service-manager): pipeline errors (#23210) 2025-10-13 01:37:41 +02:00
Yehonal
bca1cb7168 fix(ServiceManager): add sentinel to argument serialization in exec definition 2025-10-13 00:19:12 +02:00
Yehonal
2717104dc4 feat(ServiceManager): enhance path handling and add canonicalization function 2025-10-13 00:08:25 +02:00
Yehonal
9f732c8cea feat(Bash/ServiceManager): enhance path portability (#22982) 2025-10-12 22:28:22 +02:00
privatecore
c13492fb31 fix(CI/Windows): installer script - update OpenSSL version to 3.5.4 (#23081) 2025-10-02 21:27:45 +02:00
Yehonal
1736b7501f refactor(Player): replace visibility detection calls with dedicated methods (#23025) 2025-09-27 16:07:03 +02:00
Yehonal
b950c610d4 feat(bash): test command in dashboard + fix tests (#23030)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-27 13:36:14 +02:00
killerwife
3091733dd5 fix(apps/installer): windows setup (#23007) 2025-09-23 20:46:07 -03:00
Yehonal
db1ebb04e9 Improve INSTALL_ARGS handling and update OpenSSL version (#22978) 2025-09-20 13:19:21 +02:00
Yehonal
119af32649 feat(Scripts): Add health and console commands to service manager and corresponding tests (#22814) 2025-09-06 15:10:42 +02:00
Yehonal
d3a6c09b31 feat(config): add support for excluding modules during installation and updates (#22793) 2025-09-06 11:22:22 +02:00
Yehonal
c9e1782d7a Refactor menu command handling for direct execution (#22791) 2025-09-04 11:47:44 +02:00
Yehonal
599d206584 feat(MenuSystem): Implement unified menu system for AzerothCore management (#22786) 2025-09-04 00:03:55 +02:00
Yehonal
5a79a4edce Feat/refactoring-module-menu (#22733) 2025-08-30 23:44:07 +02:00
Yehonal
de98f42411 feat(Service Manager): add service registry custom dir and restore functionality (#22589)
This pull request introduces significant enhancements to the service management system by adding a service registry with features like automatic tracking, reboot persistence, and restoration of missing services. 

The goal of this PR is to allow the user to store the service configuration files into an arbitrary directory, in this way they can be easily tracked, versioned, and replicated across different environments

It also includes a migration script to transition from the legacy service configuration format to the new registry-based system. Below is a summary of the most important changes:

### Service Registry and Management Enhancements:
1. **Service Registry Integration**:
   - Added a comprehensive service registry system to track all created services, enabling features like cross-reboot persistence and restoration of missing services (`apps/startup-scripts/src/service-manager.sh`). [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R41-R229) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R273)
   - Introduced commands for managing the registry, such as `restore` for recreating missing services and `list` for viewing registered services. [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R273) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R332-R334) [[3]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R346-L172)

2. **PM2 Persistence**:
   - Enhanced PM2 integration to automatically configure startup persistence across reboots using `pm2 startup` and `pm2 save` after service creation.

### Migration and Compatibility:
3. **Migration Script**:
   - Added a `migrate-registry.sh` script to convert legacy service configurations into the new registry format. It ensures compatibility while preserving existing service information (`apps/startup-scripts/src/migrate-registry.sh`).

### Documentation Updates:
4. **Updated README**:
   - Expanded documentation in `README.md` to explain the new service registry features, including usage examples, custom configuration directories, and migration instructions. [[1]](diffhunk://#diff-0917b2888cc9b16539173f318b77773d08f7bf360579b68b9710a96ca2bcbb64L387-R468) [[2]](diffhunk://#diff-0917b2888cc9b16539173f318b77773d08f7bf360579b68b9710a96ca2bcbb64R613-R626)

### Configuration Improvements:
5. **Custom Configuration Directories**:
   - Added support for overriding the default configuration directory for service registry and files using the `AC_SERVICE_CONFIG_DIR` environment variable. [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9L14-R15) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R346-L172)

These changes significantly improve the usability, reliability, and maintainability of the service management system, especially for setups requiring persistence and multi-project configurations.
2025-08-25 20:25:17 +02:00
sudlud
2a73b89f6a fix(CI/modules-build): disable archived / outdated module mod-war-effort (#22722) 2025-08-23 16:05:17 -03:00
sudlud
a276f25d2f fix(CI/windows): bump openssl to 3.5.2 (#22628) 2025-08-06 13:21:12 +02:00
j-sax
cee5313554 fix(apps/docker): put TZ ARG after FROM to be correctly applied (#22600)
Co-authored-by: Jesper Saxtorph <gitforgot.sax@manware.dk>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 12:08:47 +02:00
NoxMax
c7351be94a fix(bash): Exit simple-restarter script if shutdown is requested (#22617) 2025-08-06 08:48:48 +02:00
Yehonal
dbee211506 fix(bash/starter): enhance interactive mode handling (#22516)
This pull request updates the startup script in `apps/startup-scripts/src/starter` to improve handling of interactive and non-interactive modes, particularly when running under different session managers. 

### Improvements to interactive and non-interactive mode handling:

* Updated the condition to check if the application should run interactively by combining `AC_LAUNCHED_BY_PM2` and `AC_DISABLE_INTERACTIVE` environment variables. This ensures more accurate handling of interactive mode.


Fixes: https://github.com/azerothcore/azerothcore-wotlk/issues/22507
2025-07-27 13:50:20 +02:00
Kitzunu
129434bb42 feat(DB): Release ACDB 13.0.0 (#22508) 2025-07-19 13:16:46 +02:00
Ryan Turner
b90638fdf3 feat(Codestyle/SQL): Ensure InnoDB is used as DB Engine (#22457) 2025-07-11 15:52:16 +02:00
Yehonal
ed8139b82a feat(tests): add BATS test parallel conf and integration tests for compiler module (#22421) 2025-07-06 17:03:51 +02:00
Yehonal
9fcacf7ea7 feat: improve session management and PM2 support in startup scripts (#22420)
New feature to manage service restart policies and refactors crash logging paths for better flexibility and clarity. The most significant changes include adding support for configurable restart policies (`on-failure` and `always`), updating documentation to reflect these changes, and improving crash path handling in multiple scripts.
2025-07-06 12:00:38 +02:00
Yehonal
9a837ee1f7 fix(bash): Improve session management and GDB handling in service scripts (#22418)
This pull request introduces several enhancements and fixes to the startup scripts for AzerothCore, focusing on improving service management, interactive mode handling, and script execution. The most important changes include adding support for non-interactive mode, enhancing systemd integration, and refactoring the starter script to handle binary paths and files more robustly.

### Enhancements to Service Management:
* **Non-Interactive Mode:** Added `AC_DISABLE_INTERACTIVE` environment variable to disable interactive prompts for services running without session managers (e.g., systemd/pm2). This prevents hanging during non-interactive execution. (`apps/startup-scripts/src/run-engine`, `apps/startup-scripts/src/service-manager.sh`) [[1]](diffhunk://#diff-1792abab64da981c71221890876ce832aab405f670f320f75b73b8788b1a4174R336-R349) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R724-R727)
* **Enhanced Systemd Integration:** Services using session managers like tmux/screen are automatically configured with `Type=forking` and appropriate `ExecStop` commands to terminate sessions gracefully. (`apps/startup-scripts/src/service-manager.sh`) [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R401-R425) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R567-R578)

### Improvements to Script Execution:
* **Starter Script Refactor:** Updated the starter script to require both binary path and file name as parameters, improving clarity and error handling. (`apps/startup-scripts/src/starter`) [[1]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631L6-R16) [[2]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631L26-R44)
* **Temporary GDB File Management:** Enhanced handling of temporary GDB configuration files, ensuring proper cleanup after execution. (`apps/startup-scripts/src/starter`) [[1]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631R68-R70) [[2]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631R92-R141)

### Updates to Tests:
* **Test Adjustments:** Modified test cases to reflect the updated starter script parameter requirements and error messages. (`apps/startup-scripts/test/test_startup_scripts.bats`) [[1]](diffhunk://#diff-febbaeb294e50bdba0511ecad5d44b0c3f11ae92c79dd19dbd5f61d41a654278L26-R26) [[2]](diffhunk://#diff-febbaeb294e50bdba0511ecad5d44b0c3f11ae92c79dd19dbd5f61d41a654278L41-R49)
2025-07-05 23:02:04 +02:00
Yehonal
161898b7e6 fix(installer/windows): update OpenSSL version to 3.5.1 to fix gh build errors (#22416)
Chocolatey on windows cannot download openssl 3.4.1 since the source has been removed.

3.5.1 is available instead. However, this must be tested

This https://community.chocolatey.org/packages/openssl/3.4.1 is pointing to this: https://slproweb.com/download/Win32OpenSSL-3_4_1.exe that doesn't exist anymore and has been replaced by the 3.4.2, but chocolatey doesn't have this version yet
2025-07-03 20:31:18 +02:00
Yehonal
04547d90b3 fix(CI): update build job to support multiple Ubuntu versions (#22413) 2025-07-03 11:03:16 +02:00
Yehonal
e1b2689c3a feat(bash): startup-scripts reworked + bash scripts workflow integration (#22401) 2025-07-01 15:35:54 +02:00
Kitzunu
f4e049f227 refactor(db-scripts): replace PowerShell database tools with Bash scripts and update documentation (#22372)
* closes https://github.com/azerothcore/azerothcore-wotlk/issues/4343

This pull request replaces the PowerShell implementation of the AzerothCore database export and squash tools with Bash scripts, streamlining the process and improving compatibility. It also updates the documentation to reflect these changes. The most important changes include the creation of new Bash scripts for exporting databases, squashing databases, and updating versions, as well as the removal of the previous PowerShell script and its associated documentation.

### Script Replacement and Enhancements:
* [`apps/DatabaseSquash/DatabaseExporter/DatabaseExporter.sh`](diffhunk://#diff-af0bd252ac095aaad91b842c75b60a689792e6dc9ce88f5e2e4b6f68acf84dcaR1-R69): Introduced a Bash script to replace the PowerShell implementation for exporting database tables, with added features such as formatted SQL output and dynamic directory creation.
* [`apps/DatabaseSquash/DatabaseSquash.sh`](diffhunk://#diff-79ff4f749c045a7d91e9b43aefb5d6fbebdc5fdfb430fbcba329e4d96d71a4fbR1-R52): Added a Bash script to automate the database squash process, integrating the version updater and database exporter tools.
* [`apps/DatabaseSquash/VersionUpdater/VersionUpdater.sh`](diffhunk://#diff-3abc69c645cb80aff30824739e317c9e847e743eeab15ab4825951d10179b265R1-R84): Created a Bash script for automatically updating the version in `acore.json` and generating SQL update files with proper versioning.

### Documentation Updates:
* [`apps/DatabaseSquash/DatabaseExporter/databaseexporter.md`](diffhunk://#diff-b2b291286f2b900a022474f00754ebfe78410780c010d46752335a372d688aefR1-R16): Rewritten documentation to reflect the usage of the new Bash script for database exporting.
* [`apps/DatabaseSquash/VersionUpdater/versionupdater.md`](diffhunk://#diff-f12e21f8a404957c90d9120cf9df0724ff27a7efdb5de0798d974079cfe8adadR1-R10): Added documentation for the new version updater tool, explaining its functionality and usage.
* [`apps/DatabaseSquash/databasesquash.md`](diffhunk://#diff-4a559f6e7404b529714bac65ad22744feb7b9f88343864a20e0a46974233767eR1-R11): Documented the overall database squash tool, detailing its integration of the version updater and database exporter scripts.

### Removal of Legacy Code:
* [`apps/DatabaseExporter/DatabaseExporter.ps1`](diffhunk://#diff-2b4e49f704d88a372b5160c7278839668c81dbecaf52a4edd327873e30b9ae70L1-L234): Removed the PowerShell script for database exporting, along with its associated functionality and settings.
* [`apps/DatabaseExporter/databaseexporter.md`](diffhunk://#diff-0618d62def0d611be6e0d4fc524df6f702f493cb87870d9382402aaf52f484e8L1-L85): Deleted outdated documentation for the PowerShell-based database exporter tool.
2025-06-28 16:17:48 +02:00
Kitzunu
ca8a2a5f58 fix(CI/Codestyle): Add directory check to SQL codestyle script (#22376) 2025-06-28 15:06:39 +02:00
Yehonal
03df002471 fix(bash): repository initialization bugs and update configurations (#22311) 2025-06-17 18:30:51 +01:00
Jelle Meeus
3e20d6edf8 feat(apps/extractor): add extractor for non windows (#22123) 2025-05-14 23:29:43 +01:00
sudlud
e8ba158c62 fix(CI/modules-build): enable mod-antifarming (#21654) 2025-03-05 13:10:58 +01:00
sudlud
ba37b3d130 feat(CI/modules-build): add all current azerothcore modules (#21624) 2025-03-03 18:46:03 +01:00
Kitzunu
9e4c74bab1 fix(CI/Codestyle): Minor typo in insert_delete_safety_check (#21639) 2025-03-02 18:48:42 +01:00
Kitzunu
6786cb19c3 fix(CI/Codestyle): Imrpove semicolon check and general improvements (#21632) 2025-03-02 18:02:09 +01:00
Kitzunu
ee23fdca3d fix(CI/Codestyle): Escape all MySQL keywords and skip /* comments (#21631) 2025-03-02 16:49:18 +01:00