Skip to content

Create shard content

Start with one small change you can see in game. You can write TOML content and Lua scripts without building a C# plugin.

Follow First start until your character is in the world. For the in-game creation commands below, use a GameMaster or Administrator account. Keep the server console available to read errors and reload scripts.

<root> means the data directory passed to --root-directory, not the directory containing the server executable. Edit the files inside that root.

I want to… Follow this tutorial What you will see
Check that my Lua script runs First script A greeting in the server log
Give an item a custom action Item scripts Your item reacts to a double click
Create an item or NPC from data TOML templates Your own object or creature in the world
Write a letter or book Create a readable document A document in your backpack, ready to open
Show a window to a player Your first gump A window that asks for a name and greets it

Finish one tutorial before combining its example with another system. Each linked tutorial names the files, the command to run and the result to check.

New or edited TOML templates are loaded at server startup: restart the server to apply them. A Lua file can be reloaded from the console with script reload <file>; follow Reload, budgets and editor for file paths and the effect on timers and event subscriptions. Reloading a Lua file does not reload a TOML template.

The sidebar groups content by task: creating content, game systems, combat and creatures, skills and crafting, gumps, data files and imports.

Use TOML value types for field formats and Shard data files for file locations. For behavior, use the Lua guides and the Lua API reference. The generated API reference remains in English.

To add a new host capability that scripts cannot express, continue with Writing a plugin.

Made with ❤️ by Tom

Buy me a coffee