Modding:Understanding the VS Engine: Difference between revisions

From Vintage Story Wiki
→‎Startup Sequence: Add a link to Modding:Load_Order
No edit summary
(→‎Startup Sequence: Add a link to Modding:Load_Order)
Line 24: Line 24:
The server intializes its own subsystem, loads the savegame and then mods, in a clearly defined order - the [https://github.com/anegostudios/vsapi/blob/5cb2067c23e11a24615c4bc324b25a8a5bae25a8/Server/EnumServerRunPhase.cs run phase].
The server intializes its own subsystem, loads the savegame and then mods, in a clearly defined order - the [https://github.com/anegostudios/vsapi/blob/5cb2067c23e11a24615c4bc324b25a8a5bae25a8/Server/EnumServerRunPhase.cs run phase].


Mods are loaded by searching the mod folder for mods that are correctly packaged, either compiles the .cs files or loads the .dll files and searches for all instances of <code>ModSystem</code>. These are then instantiated and the relevant Start*() methods are called. This happens twice - once on the server and once on the client.
Mods are loaded by searching the mod folder for mods that are correctly packaged, either compiles the .cs files or loads the .dll files and searches for all instances of <code>ModSystem</code>. These are then instantiated, sorted based on their [[Modding:Load_Order|ExecutorOrder]], then the relevant Start*() methods are called. This happens twice - once on the server and once on the client.  
 
When the server is ready and the client is ready to connect - the server will send a number of assets to the client. All blocks, items and entities (respective folders: blocktypes, itemtypes & entities) are only loaded server side and then sent to each client. Conversly the textures, shapes and sounds are (mostly) ignored by the server and only loaded on the client.  


When the server is ready and the client is ready to connect - the server will send a number of assets to the client. All blocks, items and entities (respective folders: blocktypes, itemtypes & entities) are only loaded server side and then sent to each client. Conversly the textures, shapes and sounds are (mostly) ignored by the server and only loaded on the client.


== Game components ==
== Game components ==
Confirmedusers
261

edits