-
Notifications
You must be signed in to change notification settings - Fork 6
Creating New Server‐Side Mods
Creating new server-side mods for Silica servers requires establishing the editor, gathering the necessary references from Cpp2IL, and ensuring the separate build targets (.NET 6.0 for Silica Listen Servers and .NET Standard 2.1 for Silica Dedicated Servers) are accomodated.
- Install Visual Studio
- Download the Mod Template
- Place the Mod Template in the Visual Studio templates directory (e.g.,
%USERPROFILE%\Documents\Visual Studio 2022\Templates\ProjectTemplates
) - Create a new Project using the Silica Mod template
- Gather all references ( see below )
- Build using the Build Solution option
Tip
For VSCodium, click to show all release assets to reveal the .dmg files for macOS
- Install the .NET SDK
- Download the Mod Template
- Unzip the Mod Template and open
Si_HelloWorld.cs
in the editor - Gather all references ( see below )
- Build using the Terminal
dotnet build
command
- Clone the Silica repository
- Copy the
include\
directory from the Silica repository into your local environment at the same level as your new Silica Mod project
-repos
--Silica Mod Project 1
--include
- Download QList.dll and place it in the
include\
directory - Create an
include\net6.0\
directory - Download FixNullableAttribute.dll and place it in the
include\net6.0\
directory - Purchase and download the Silica game
- Install MelonLoader: Follow Step 2 through Step 7 of the Listen Server Setup Instructions
- Launch Silica and wait for the game to reach the Main Menu then exit
- Navigate to your Silica game directory and copy the following files into the
include\net6.0\
directory
Note
For game versions v0.8.122 or later substitute the Il2CppSilicaCore.dll
file for the Assembly-CSharp.dll
file.
MelonLoader\net6\0Harmony.dll
MelonLoader\net6\Il2CppInterop.Runtime.dll
MelonLoader\Il2CppAssemblies\Assembly-CSharp.dll
MelonLoader\Il2CppAssemblies\Il2Cppcom.rlabrecque.steamworks.net.dll
MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll
MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll
MelonLoader\Il2CppAssemblies\UnityEngine.dll
MelonLoader\Il2CppAssemblies\UnityEngine.InputLegacyModule.dll
MelonLoader\Il2CppAssemblies\UnityEngine.PhysicsModule.dll
- Create an
include\netstandard2.1\
directory - Download the Silica Dedicated Server tool from Steam
- Install MelonLoader: Follow Step 2 through Step 6 of the Dedicated Server Setup Instructions
- Download the launch.bat script and place it into the root of the Silica Dedicated Server directory
- Double-click
launch.bat
and wait for the server to completely initialize before exiting - Navigate to your Silica Dedicated Server directory and copy the following files into the
include\netstandard2.1\
directory
Note
For game versions v0.8.122 or later substitute the SilicaCore.dll
file for the Assembly-CSharp.dll
file.
MelonLoader\net35\0Harmony.dll
MelonLoader\net35\MelonLoader.dll
Silica_Data\Managed\com.rlabrecque.steamworks.net.dll
Silica_Data\Managed\Assembly-CSharp.dll
Silica_Data\Managed\UnityEngine.CoreModule.dll
Silica_Data\Managed\UnityEngine.dll
Silica_Data\Managed\UnityEngine.InputLegacyModule.dll
Silica_Data\Managed\UnityEngine.PhysicsModule.dll
Once you've built a DLL for your mod then place it in the server/game directory's Mods
sub-directory and then launch the server. Don't forget that you'll also need to add the Si_AdminMod.dll
(from the Silica repo's Releases) in the Mods
sub-directory.
If you see any red stream across the console when you start the server then this indicates some type of error occurred. Unfortunately, each time a new line is added to the server console it moves the console down to the latest message, so it can be easy to miss these messages. Review the log files to diagnose problems:
(Server/Game Directory)\MelonLoader\Latest.log
%USERPROFILE%\Documents\Silica\Server_*.log
If you need any further help then stop by the Silica Modder's Discord server.
Silica logo used with permission from Bohemia Interactive.