Fix persistence on non-Horizon and admin persistence toggle admin verb (#22301)

# Summary

This PR fixes persistence on non-Horizon maps and adds an admin verb to
toggle saving at round end.

## Changes

- Fixed persistency being used on non-Horizon maps, prevents loading and
saving.
- Added admin verb "Toggle persistence" to prevent saving at round end.

## Verb preview

Verb location
<img width="194" height="147" alt="Screenshot 2026-04-20 204519"
src="https://github.com/user-attachments/assets/bf043fd3-f021-4da8-b74f-f03373379e64"
/>

Input to disable
<img width="319" height="144" alt="Screenshot 2026-04-20 204628"
src="https://github.com/user-attachments/assets/a681d8d3-ce6b-49e1-a145-b994f40b3f6d"
/>

Disable output
<img width="897" height="50" alt="Screenshot 2026-04-20 204644"
src="https://github.com/user-attachments/assets/eedc04d1-31a1-4a49-854c-b78e43b41be5"
/>

Input to re-enable
<img width="318" height="132" alt="Screenshot 2026-04-20 204653"
src="https://github.com/user-attachments/assets/cdcf88f2-1a7e-4755-872e-613206756224"
/>

Re-enable output
<img width="898" height="48" alt="Screenshot 2026-04-20 204709"
src="https://github.com/user-attachments/assets/1a583342-45fb-41dd-ad21-f349c577646b"
/>

---------

Signed-off-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
FabianK3
2026-04-22 20:21:39 +00:00
committed by GitHub
co-authored by SleepyGemmy
parent 7221e0384a
commit 74a02b1f99
6 changed files with 147 additions and 73 deletions
+90 -69
View File
@@ -4,18 +4,18 @@ on:
workflow_dispatch:
merge_group:
branches:
- master
- master
push:
branches:
- master
- master
pull_request:
branches:
- master
- master
env:
MACRO_COUNT: 0
GENDER_COUNT: 6
TO_WORLD_COUNT: 176
TO_WORLD_COUNT: 178
#These variables are filled from dependencies.sh inside the steps, DO NOT SET THEM HERE
BYOND_MAJOR: ""
@@ -40,10 +40,9 @@ concurrency:
cancel-in-progress: true
jobs:
###########################################
################# BASH/AWK ################
###########################################
###########################################
################# BASH/AWK ################
###########################################
validate-structure:
name: Validate Structure
outputs:
@@ -56,7 +55,6 @@ jobs:
cancel-in-progress: true
steps:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
@@ -121,9 +119,9 @@ jobs:
echo "Continuing with CI."
fi
###########################################
############### EditorConfig ##############
###########################################
###########################################
############### EditorConfig ##############
###########################################
megalinter:
name: Validate EditorConfig Compliance
runs-on: ubuntu-24.04
@@ -143,7 +141,6 @@ jobs:
APPLY_FIXES_MODE: commit
steps:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
@@ -177,10 +174,9 @@ jobs:
mega-linter.log
retention-days: 5
###########################################
############### SPACEMANDMM ###############
###########################################
###########################################
############### SPACEMANDMM ###############
###########################################
lint-spacemandmm:
name: Lint SpacemanDMM
runs-on: ubuntu-24.04
@@ -192,7 +188,6 @@ jobs:
cancel-in-progress: true
steps:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
@@ -224,10 +219,9 @@ jobs:
with:
outputFile: output-annotations.txt
###########################################
################ OPENDREAM ################
###########################################
###########################################
################ OPENDREAM ################
###########################################
lint-opendream:
name: Lint OpenDream
runs-on: ubuntu-24.04
@@ -239,7 +233,6 @@ jobs:
cancel-in-progress: true
steps:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
@@ -266,9 +259,9 @@ jobs:
run: |
dotnet $HOME/DMCompiler_linux-x64/DMCompiler.dll --suppress-unimplemented aurorastation.dme
###########################################
############### TGUI LINTING ##############
###########################################
###########################################
############### TGUI LINTING ##############
###########################################
lint-tgui:
name: Lint TGUI
runs-on: ubuntu-24.04
@@ -280,7 +273,6 @@ jobs:
cancel-in-progress: true
steps:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
@@ -294,7 +286,7 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION_LTS }}
cache: 'yarn'
cache: "yarn"
cache-dependency-path: tgui/yarn.lock
#Lint TGUI
@@ -302,10 +294,9 @@ jobs:
run: |
tools/build/build --ci lint tgui-test
###########################################
############### MISC LINTING ##############
###########################################
###########################################
############### MISC LINTING ##############
###########################################
lint-misc:
name: Lint Misc
runs-on: ubuntu-24.04
@@ -317,7 +308,6 @@ jobs:
cancel-in-progress: true
steps:
#Checkout the repository
- name: Checkout repository
uses: actions/checkout@v4
@@ -331,7 +321,7 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
cache: "pip"
#Install python packages and tools
- name: Install Python Packages
@@ -356,14 +346,21 @@ jobs:
tools/bootstrap/python -m mapmerge2.dmm_test
tools/bootstrap/python -m tools.maplint.source
###########################################
############## GENERIC TESTS ##############
###########################################
###########################################
############## GENERIC TESTS ##############
###########################################
generic-tests:
name: Generic Tests
runs-on: ubuntu-24.04
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
needs:
[
validate-structure,
lint-spacemandmm,
lint-opendream,
lint-tgui,
lint-misc,
]
services:
mariadb:
@@ -387,7 +384,6 @@ jobs:
fail-fast: false
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
@@ -495,14 +491,21 @@ jobs:
path: ./data/logs/**/condensed.log
retention-days: 5
###########################################
########### CREATE AND DESTROY ############
###########################################
###########################################
########### CREATE AND DESTROY ############
###########################################
create-and-destroy:
name: Create and Destroy Test
runs-on: ubuntu-24.04
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
needs:
[
validate-structure,
lint-spacemandmm,
lint-opendream,
lint-tgui,
lint-misc,
]
services:
mariadb:
@@ -526,7 +529,6 @@ jobs:
fail-fast: false
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
@@ -634,16 +636,21 @@ jobs:
path: ./data/logs/**/condensed.log
retention-days: 5
###########################################
################ TEST MAPS ################
###########################################
###########################################
################ TEST MAPS ################
###########################################
map-tests:
name: Run Map Tests
runs-on: ubuntu-24.04
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
needs:
[
validate-structure,
lint-spacemandmm,
lint-opendream,
lint-tgui,
lint-misc,
]
services:
mariadb:
@@ -667,7 +674,6 @@ jobs:
fail-fast: false
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
@@ -775,16 +781,21 @@ jobs:
path: ./data/logs/**/condensed.log
retention-days: 5
###########################################
############# EXOPLANETS TESTS ############
###########################################
###########################################
############# EXOPLANETS TESTS ############
###########################################
exoplanet_testing:
name: Run Exoplanet Tests
runs-on: ubuntu-24.04
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
needs:
[
validate-structure,
lint-spacemandmm,
lint-opendream,
lint-tgui,
lint-misc,
]
services:
mariadb:
@@ -808,7 +819,6 @@ jobs:
fail-fast: false
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
@@ -916,15 +926,21 @@ jobs:
path: ./data/logs/**/condensed.log
retention-days: 5
###########################################
############# TEST AWAY SITES #############
###########################################
###########################################
############# TEST AWAY SITES #############
###########################################
away-sites-tests:
name: Run Map Tests
runs-on: ubuntu-24.04
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
needs:
[
validate-structure,
lint-spacemandmm,
lint-opendream,
lint-tgui,
lint-misc,
]
services:
mariadb:
@@ -948,7 +964,6 @@ jobs:
fail-fast: false
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}
@@ -1056,14 +1071,21 @@ jobs:
path: ./data/logs/**/condensed.log
retention-days: 5
###########################################
################ TEST RUINS ###############
###########################################
###########################################
################ TEST RUINS ###############
###########################################
ruins-tests:
name: Run Ruins Tests
runs-on: ubuntu-24.04
if: ${{ !failure() }}
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
needs:
[
validate-structure,
lint-spacemandmm,
lint-opendream,
lint-tgui,
lint-misc,
]
services:
mariadb:
@@ -1087,7 +1109,6 @@ jobs:
fail-fast: false
steps:
- name: "Check if CI or UT ignored"
id: check
if: ${{ needs.validate-structure.outputs.skipci == 'true' || needs.validate-structure.outputs.skiput == 'true' }}