Migration Guides
Learn how to upgrade your games to a newer version of Core.
Upgrade from 0.2.x to 0.3.x
Replace record API with tag API
For clarity, the old "force record" system was renamed to "tagging". You will need to replace method calls and re-run simulations, because output file names have changed. The functionality remains the same.
ctx.services.data.record({})
ctx.services.data.tag({})
ctx.services.data.recordSymbolOccurrence()
ctx.services.data.tagSymbolOccurrence()
game.runTasks({
// ...
analysisOpts: {
recordStats: [],
tagStats: [],
},
})Update optimization configuration
The old and slow Rust optimizer was replaced with a Typescript optimizer, resulting in noticably faster optimization. The API has also changed. Learn how to use the new optimizer
Upgrade from 0.1.x to 0.2.x
Adjust npm scripts or commands
Due to technical changes and Panel compatibility, tasks (simulation, optimization, analysis) are only run
when explicitly passing a command line argument. The required argument is --slot-engine-run.
For example, when you're using tsx to run your games, this is how you must adjust your command:
pnpm tsx ./index.tsNote introduction of new generated files
The Core library now produces additional files which contain metadata or other information. When you're using the new Panel package these files are mandatory for flawless Panel functionality. Re-run simulations to generate those files.
books_chunks/*(new)books_<name>.index.meta.json(new)force_keys_<mode>.json(new)lookUpTable_<mode>.index(new)lookUpTableSegmented_<mode>.index(new)simulation_summary.json(new)stats_payouts.json(modified structure)
Note new book files generation
Uncompressed book files are no longer generated. This saves a lot of hard drive space. If you need to inspect your book files, you can use the new Panel package.
Recommendations
Replace your console.log() calls
Logging to the console from worker threads is not reliable. A more robust approach to logging
during simulations was added. Access the log() method from the data service in your game implementation:
ctx.services.data.log()
Prefix static reels files with reels_
If you want to use the reel set editor included in Panel, you must rename your
reels CSV files to something like reels_your-reelset-name.csv.
Panel scans your game directory for CSV files starting with reels_ - only those are editable in the reel set editor.
Use of AI on this page: All texts were initially written by hand and many were later revised by AI for improved flow. All AI generated revisions were carefully reviewed and edited as needed.