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 Scripts

So 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:
SS01.jpg

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.

Last edited Sep 8, 2010 at 1:40 AM by Scionwest, version 8

Comments

Juic3R Jun 10, 2012 at 7:55 AM 
I've managed to connect on port 4000 using latest source. Check the code in the latest source to modify port number if necessary, just do a search for 4000 and it should lead you in the right direction.

N60storm4 May 15, 2011 at 1:48 AM 
What port does this server use?