IMM_MASSOLCSAVE
Keywords: IMM_MASSOLCSAVE, WIZ_MASSOLCSAVE, MASSOLCSAVE
=== STAFF MANUAL ===
Usage: massolcsave
Description:
Write every zone's mob and object prototype files to disk
in one pass. The command walks zone_table and calls
medit_save_to_disk and oedit_save_to_disk on each zone,
flushing the in-memory prototype state to the matching .mob
and .obj files. Use this when you have made a large batch
of prototype edits through OLC and want to force them all
out to disk without touching every zone individually -- for
example, before a planned reboot or after a scripted bulk
import.
Behavior:
The command produces no output on success. It blocks the
game loop until every zone's mob and object files have been
rewritten, then returns silently.
Scope:
Only two file types are saved:
.mob .......... All mob prototypes for every zone.
.obj .......... All object prototypes for every zone.
Other OLC file types are not touched by this command and
must be saved separately:
- .wld (rooms) -- save through redit or the zone's
regular dirty-save path.
- .zon (zone reset commands) -- save through zedit.
- .shp (shops) -- save through sedit.
- .trg (scripts) -- save through scriptedit.
Restrictions:
- Requires Coder level. No permission flag is
checked; the level gate in the command table is the
only guard.
- Runs synchronously across the full zone table. On
a large world the command can cause a noticeable
pause mid-pass; avoid running it while players are
in time-sensitive activities.
- Prototypes flagged MOB_DELETED or ITEM_DELETED
are skipped by the underlying save routines, so this
command will not undo a soft-delete in progress.
Notes:
- massolcsave is a blunt instrument. For targeted
saves during routine editing, prefer quitting out of
the matching OLC editor and letting the normal
deferred-save queue flush.
- Room and reset commands queue dirty through
olc_mark_dirty and are typically flushed through
the deferred save list -- massolcsave bypasses that
entirely for mobs and objects.
=== END MANUAL ===