Setting up the server
This documentation outlines the requirements to get a Mud server up and running with the Mud Designer Game Engine via the engines ScriptsSo you downloaded the latest version of the Mud Designer and now you want to start working on your first MUD with it? Well a lot of hard work went into it in order to make it as simple as possible, while at the same time trying to keep everything as
extensible,
automated and
customizable as possible. These three goals were difficult to achieve but did manage to see the light of day and become a reality for the project. Before we get to deep into learning how to get a game up and running, lets take some time to learn the mechanics of the engine and server by reviewing each of the three goals that I set out to achieve.
Extensible
- Script Engine: The extensibility of the engine is very great thanks to the fully implemented Script Engine that has several nice features including the following:
- Write your own C# scripts & compile them with the included ScriptCompiler
- Server runtime compiling for compiling scripts during server startup.
- All scripts are instanced during the Server startup.
- Scripts can be accessed during runtime.
- Scripts properties can be retrieved or set.
- Scripts Methods can be invoked.
Automated
- Mud Designer handles the automation of almost every object within the engine, but only if it needs to. An example would be if you did not create any environments before running the server. The engine will simply create a temporary environment for your players to reside within if they happen to connect.
- Room Linking automation
- Game setting automation
- Script Compiling automation
- Automatic creation of objects as needed.
Customization
- The Game class is used to customize the engine and your game in great detail and offers the following:
- Game Title and Version setting
- Game Author and Website setting
- Day/Night management
- Player Type\Script to use
- The engine also supports Custom Commands that allow users to create their own Game commands that the server will then let players use.
- Easily write commands that the engine can use
- Automatically loads custom commands
- Wrote to allow developers to have access to the majority of the engine's components from within the command script, providing the best level of customization.
Setting up the Server
Now that you know what features the engine currently has, lets go ahead and startup the server. By default, the only files in the install directory should be
MudEngine.dll, MudServer.exe, and
ScriptCompiler.exe. If you run
MudServer.exe you will see a console box open up and display something like the following:
Couple errors?
Yes, as this is the first time you have launched the server, several things are non-existent, such as a world and a settings file. Fortunately for us, the engine handles some automation of various things, and that is what allowed the engine to simply generate a new settings file, and create a default environment called Abyss that players can log into.
If you close the server, you will find two new
folders and a new file called
settings.ini. The two folders are
Player and
Scripts. At the moment the only thing we are worried about is the settings.ini file and the scripts folder.
Setup
So lets get our game setup, we will open the
Settings.ini file to review it.
Note that comments are supported in the settings file by placing a simi-colon at the beginning of a line. You should see the following content inside the file.
ScriptPath=Scripts
ScriptExtension=.cs
What do we have here? The ScriptPath setting tells the compiler which folder to scan for script files; in this case it will scan the folder called Scripts. Next we have ScriptExtension which contains the file extension used for each script compiled. This allows developers to write MUD games using a different file extension and script location if they choose to.
We will leave these settings be for the time being and close out this document with a running server.