Create Your First Systems
This page is the second beginner path after Create Your First Content.
The first path teaches the basics:
- one item template
- one Lua brain
- one NPC template
This second path teaches small gameplay systems that combine those building blocks into something more useful.
These guides assume:
- your shard root is
~/moongate - the server already runs against
--root-directory ~/moongate - you can restart the server after changes
- you can log in with an account that can run in-game admin commands
- you already know the difference between
~/moongate/**and the repositorymoongate_data/**
Learning Path
Follow these in order:
- Create Your First Item Script
- Create Your First Loot Container
- Create Your First Scheduled Event
- Create Your First Gump
- Create Your First Lua Admin Command
- Create Your First Plugin
- Create Your First C# Admin Command
That order keeps the beginner path clean:
- item script teaches item behavior
- loot container teaches template-driven item generation
- scheduled event teaches shard-level timed logic
- gump teaches player-facing UI on top of the item script path
- Lua admin command teaches scripted operator workflows
- plugin and C# command move into compiled extensions only after the Lua path is clear
Shard Systems
These guides stay inside the shard root:
~/moongate/templates/**~/moongate/scripts/**
They are the fastest way to add gameplay and operator tools without compiling C#.
Extension Path
The last two guides move into compiled extensions:
Use that path when you need:
- a real compiled console command
- plugin-local services or handlers
- something you do not want to keep in Lua
What You Will Use
Across the phase 2 guides you will only see commands and paths that already exist in the repo:
moongate-template validate --root-directory ~/moongate.spawn_item <templateId>dotnet new moongate-plugin ...dotnet buildbash scripts/pack-plugin.sh
After These Tutorials
Once you finish this path, the deeper references are here: