Game configuration
Navigation: Configuration (drop-down menu)
Everything about the game world is stored in the database as configuration data, and all of it can be edited here. The drop-down groups the most-used parts of the configuration into their own pages; below that you always have the full configuration tree as a fallback.
Most configuration data is loaded when a game server starts. After a change, use Reload configuration and restart all game servers on the Servers page, or restart the server process.
System
Route edit-config/…SystemConfiguration/
The system settings are not part of the game configuration — they apply to the server process itself.
| Setting | Meaning |
|---|---|
| IP resolver | How the server determines the address it reports to the game client: Auto, Public, Local, Loopback or Custom. See Connect a game client. |
| IP resolver parameter | The fixed IP or host name, when the resolver is Custom |
| Auto start | Start the listeners of all servers when the process starts. Only applies to the all-in-one startup — distributed processes always start their listeners. |
| Auto update schema | Update the database schema automatically at startup. Only applies to the all-in-one startup; in a distributed deployment the update is started manually on the Setup page. |
| Read console input | Whether the all-in-one process reacts to commands typed in its console |
| Time zone id | The time zone used to interpret the time-of-day entries of periodic event schedules (invasions, Blood Castle, Devil Square, …) and of the Castle Siege schedule. IANA ids such as Europe/Warsaw are recommended; when empty or unresolvable, UTC is used. |
These settings can also be given as start parameters or environment variables, which take precedence over what is configured here.
Game clients
Route edit-config-grid/…GameClientDefinition/
The client versions your server knows: version bytes, description, and the protocol/serializer which is used for them. A connect server and the endpoints of a game server each reference one of these definitions, which is how one server can serve several client versions on different ports.
General
Route edit-config/…GameConfiguration/{id}/hide-collections
The settings of the game configuration itself, without its (huge) collections. This is where the values live which most server operators want to change:
- Rates — experience rate, master experience rate
- Levels — maximum level, maximum master level, minimum monster level for master experience
- Money and items — maximum inventory/vault money, whether monsters drop money, item drop duration, maximum item option level on drop, excellent item drop level delta
- Characters — maximum characters per account, character name regex, maximum password length, maximum party size
- Formulas — the experience formula and master experience formula
- Misc — info range, recovery interval, letter settings, durability consumption
Monsters
Route edit-config-grid/…MonsterDefinition/
All monsters and NPCs with their attributes (health, defense, damage, movement speed, attack range), the attribute set used for battle, their drops, their intelligence (AI) and their merchant/quest role.
Merchant stores
Route merchants
A more comfortable editor for NPC merchants: pick a merchant and edit the items it offers with the graphical item storage editor instead of the generic form.
Character classes
Route edit-config-grid/…CharacterClass/
Stat attributes and their growth per level, level requirements, the evolution path from one class to the next, the home map, and the stat point gain per level.
Skills
Route edit-config-grid/…Skill/
Damage, mana and ability cost, range, target restrictions, the classes which can learn a skill, the master skill definitions and their dependencies.
Items
Route edit-config-grid/…ItemDefinition/
Item definitions with their requirements, level tables, possible options, sockets and the classes which may equip them. Items use a dedicated editor with a graphical representation instead of the plain generic form.
Item prices
The price of an item is used by the NPC merchants (buying, selling, repairing)
and by the success rate of some crafting recipes. By default, an item gets the
price of usual equipment: a base price from its drop level, increased by its
skill and options. Items with a different price reference a price definition
(the PriceDefinition of the item). The price definitions are in the full
configuration tree (ItemPriceDefinitions of the game configuration), and one
can be shared by several items.
| Setting | Meaning |
|---|---|
| Base price formula | The price of one unit, for example 9000000, or (level + 1) * 200000. Without a formula, the equipment price is used. |
| Price per level | Fixed prices for specific item levels. They take precedence over the formula. |
| Quantity scaling | PerPiece multiplies the price by the number of pieces (potions), ByFillRatio by the fill ratio (arrows). |
| Modifiers | Which options increase the price, like for equipment: skill, luck, option, wing option, excellent. |
| Selling price rounding | Tens rounds the selling price to tens and ignores the durability, like for potions. |
| Crafting reference price | A different price for the success rate of crafting (e.g. the jewels). |
The formula can use the variables level, durability, maxDurability,
value (the value of the item), dropLevel, optionLevel, optionCount,
healthRecoveryOptionLevel and automaticPrice (the equipment price). The game
client calculates the prices it shows by itself, so changed prices only show up
correctly in clients which calculate them the same way.
Item options, option types and item sets
The game configuration menu provides separate entries for these lists:
- Item options (
edit-config-grid/…ItemOptionDefinition/): available item bonuses, their effects and level-dependent values. - Item option types (
edit-config-grid/…ItemOptionType/): categories such as excellent or ancient options. - Item set groups (
edit-config-grid/…ItemSetGroup/): item set names, member items and set bonuses.
Each entry opens the existing configuration grid, where entries can be inspected and edited without navigating through the full configuration.
Item drops
Route edit-item-drops
All drops on one page: the drop item groups of maps, monsters, quests and boxes, the drop chances per monster, the randomly dropped items and the item option chances. See Item drops.
Drop item groups
Route edit-config-grid/…DropItemGroup/
Which items drop with which chance, as generic grid. Groups can be assigned to a map or to a monster, which is how the drop tables are composed. The Item drops page is usually more comfortable.
The chance of a group is a value between 0 and 1. The chances of all groups which apply to a monster are added up, and one of them is selected per drop — so increasing one group's chance lowers the chance that nothing drops, and once the sum exceeds 1, it lowers the share of all other groups. See How drops are determined.
Game maps
Route edit-config-grid/…GameMapDefinition/
Maps with their number, name, terrain, safe zone, level requirements, monster spawn areas, enter and exit gates, and the battle zone of event maps.
The spawn areas and gates are much easier to edit graphically — an edit page of a map links to the map editor.
Mini games
Route edit-config-grid/…MiniGameDefinition/
Blood Castle, Devil Square, Chaos Castle, Illusion Temple and the other events: entry requirements, ticket items, the spawn waves, rewards and the schedule at which they start. The time-of-day entries are interpreted in the time zone configured under System.
Warp list
Route edit-config-grid/…WarpInfo/
The entries of the in-game warp list: index, name, target gate, level requirement and cost.
Jewel mixes
Route edit-config-grid/…JewelMix/
The jewel stacking (mix/unmix) definitions.
Content activation
Route content-activation
Maps, character classes, monsters, items and mini games can be deactivated without deleting them from the configuration. This is how a server can be restricted to the content of a certain season: deactivate everything which was introduced later, and activate it again when you want to offer it.
Each entry knows in which version of the original game it was introduced, from the early version numbers before Season 1 (like 0.34, 0.95k or 0.99G+, as listed by the MU Online history) up to Season 6 Episode 3. Content of patches without a known version number counts as introduced in the next version with a known number. Select a version at the top and click Restrict to game version to activate all content up to this version and to deactivate everything which was introduced later — for example Season 2 for a server without Summoners, Raklion, socket items and the other later content. Entries with an unknown version are left unchanged, so check them afterwards with the version column. The page shows how many entries will be activated and deactivated, and changes them after you confirm.
The versions were compiled from the original patch notes and OpenMU's data of the older versions. Some entries, like a few event items, are Unknown. You can correct the version of an entry with Introduced In on its edit page.
Pick the kind of content in the second row. The list can be narrowed down
by its active state and by a search text (which also matches the version),
and Activate all shown / Deactivate all shown change all entries of
the narrowed list at once — for example, search for Kanturu and deactivate
all shown entries. The changes are only stored after Save changes and the
confirmation; Discard changes drops them. Save or discard them before
restricting to a game version.
Both actions are recorded in the
audit history, and they are
the same operations which agents use through the
MCP tools
content_restrict_to_version and content_set_active. Like other configuration
changes, they require the Administrator role.
What an inactive entry means in the game:
| Content | Effect when inactive |
|---|---|
| Map | It can't be entered by warps or gates, no instance of it is created, and invasions skip it. A character which logs in on an inactive map is moved to the safezone map of it, or to the home map of its class. |
| Character class | No new character of this class can be created, and its creation isn't unlocked on the character selection screen. Quests which would evolve a character into it aren't offered and can't be completed. Existing characters stay playable. |
| Monster / NPC | It isn't spawned on the maps, also not by invasions. Monsters which are already spawned remain until the game server is restarted. |
| Item | Monsters and item boxes don't drop it, and merchants don't offer it. Existing items stay usable. |
| Mini game | It can't be entered, and its periodic start doesn't open it. |
Entries are active by default, also after updating an existing installation; the configuration update Set the game versions of the content adds the versions to an existing installation. The settings are also available as Is Active and Introduced In on the edit page of each entry.
Invasions and the periodic starts of the mini games skip inactive content and don't announce an event when nothing of it is active. Other features are implemented as plugins without such content, for example the chat commands or the custom gameplay plugins. Deactivate them on the Plugins page if they don't fit the season of your server.
Plugins, chat commands, map editor
The lower part of the drop-down leads to Content activation, Plugins, Chat commands and the Map editor.
Full configuration
Route edit-config/…GameConfiguration/
The complete game configuration as one editable tree, including all collections which the General page hides. Everything that has no dedicated page can be reached from here — item options, item sets, quests, attributes, magic effects, crafting definitions, and so on.
The generic edit pages
Most configuration pages are generated automatically from the data model by reflection. There are two of them:
The grid (edit-config-grid/{type})
A sortable, searchable and paged list of all objects of one type, with these actions per row:
- Edit — open the object in the form
- Duplicate — create a copy, which is the fastest way to add a variant of an existing monster or item
- Delete — remove the object
…and an Add new button at the bottom.
The form (edit-config/{type}/{id})
A form with one input per property of the object, grouped by category. Referenced objects are shown as drop-downs, collections as editable sub-lists which lead deeper into the tree. The breadcrumb at the top is how you find your way back. The sub-lists of items, monsters, skills and maps additionally show their number (and the group of an item) next to the name, so that entries with similar names are easy to tell apart.
Some types have a specialized editor instead of (or in addition to) the generic form — items, item storages and maps.
The generic pages are a technical view of the data. They do not know the game rules, so it is possible to create inconsistent or invalid configurations with them. Some fields also can't be edited or created yet, because not every type has a corresponding component.
Change one thing at a time and test it, and take a database backup before larger edits.
Configuration search
The search box in the navigation area searches the whole configuration by name and jumps directly to the edit page of a result. It is usually much faster than walking the tree — if you know an item, monster or skill by name, search for it.