Files

1 line
639 B
JavaScript
Raw Permalink Normal View History

2025-01-04 00:34:03 +01:00
import fs from"node:fs";import path from"node:path";import Files from"../files/files.mjs";import{World}from"../packages/_module.mjs";export async function resetDemo(){const{game:e,options:o}=globalThis;if(!o.demoMode)return null;const r=o.demo;e.world&&await e.world.deactivate(null,{asAdmin:!0});const t=path.join(World.baseDir,r.worldName);await fs.promises.rm(t,{force:!0,recursive:!0}),await Files.extractArchive(r.sourceZip,t,{removeRoot:r.worldName}),World.resetPackages();const s=World.get(r.worldName);return s?(await s.setup(),setTimeout(resetDemo,1e3*r.resetSeconds),s):(global.logger.warn(`Could not load ${r.worldName}`),null)}