Meridian 59 v2.0, February 2016 Andrew Kirmse and Chris Kirmse
Copyright 1994-2012 Andrew Kirmse and Chris Kirmse All rights reserved. Meridian is a registered trademark.
This repository contains the source code for Server 105's 2.9 update (specifically 2.9.3). Some rooms, graphics and audio files are not included and can be obtained from a server 105 client.
Note that a more up-to-date version, including git history, will be released alongside the upcoming 3.0 expansion. The git history contains expansion content, thus is not reproduced here.
This repository is for the "Server 105" version of Meridian 59. You can create an account for this server and download the client on the [server 105 website] (https://www.meridiannext.com/play/). Note that this repository is for the "classic" version of the client, the Ogre client repository is at https://github.com/cyberjunk/meridian59-dotnet. A list of known servers is kept on the 105 website.
This is a volunteer project under active development. New contributors are always welcome, and you can read about how to get started contributing to the game on the OpenMeridian105 GitHub wiki page. No experience is required or assumed, and there are many different ways to contribute (coding, art, 3D model creation, room building, documentation).
This project is distributed under a license that is described in the LICENSE file. The license does not cover the game content (artwork, audio), which are not included.
Note that "Meridian" is a registered trademark and you may not use it without the written permission of the owners.
The license requires that if you redistribute this code in any form, you must make the source code available, including any changes you make. We would love it if you would contribute your changes back to the original source so that everyone can benefit.
The source to the client, server, game code, Blakod compiler, room editor, and all associated tools are included. The source code to the irrKlang audio library is not included, and the graphics and music for Meridian 59 must be downloaded with the game client.
These build instructions can also be found on the Server 105 GitHub wiki.
- Install Microsoft Visual Studio 2015 Community Edition. During installation you will need to choose "Custom" installation and add the C++ components to the installation, as these are not installed by default (see https://msdn.microsoft.com/en-au/library/60k1461a.aspx).
- Download this source code, either with a git client or with the "Download ZIP" option from your chosen repository.
- If you prefer the Visual Studio graphical interface, open Meridian59.sln from the root folder of the codebase. Click on the BUILD menu and select Build Solution (or press CTRL+SHIFT+B) to build.
- Locate your Visual Studio install folder, usually something like
"C:\Program Files (x86)\Microsoft Visual Studio 14.0"
. Navigate to the Common folder, and then the Tools folder. Example:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools"
. - Create a shortcut (by right-clicking on vsvars32.bat and selecting
Create shortcut) called "Meridian Development Shell" on your desktop
or in your start menu with the following property:
Target:
%windir%\system32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32.bat"
- OPTIONAL: set the "Start In" property of your shortcut to the folder that contains the meridian source code for ease of use.
- Open the Meridian Development Shell and navigate to the folder
containing the source code, then enter
nmake debug=1
to compile.
- After compilation completes, browse to the
.\run\server
folder, and double clickblakserv.exe
to start the server. - Go to the
Administration
tab on the server's interface and enter the command:create account admin username password email
(with your desired username, password and email (email can be "none@none"). You will see a message sayingCreated ACCOUNT 4
or similar. - Then create a character slot on that account with
create admin 4
, using whichever number the previous line returned instead of 4. - You'll now be able to log in with this account name and password. Be sure to "save game" from the server interface to save this new account.
You will need to obtain the client graphics before you can run the
client locally, which can be done by installing the server 105 classic client
from the [105 website] (https://www.meridiannext.com/play/).
When this is installed, building the client (via makefile or VS
solution) will automatically copy the needed resources to the
appropriate directory. If for some reason this isn't done, copy
the files manually from the 105 client's resource directory to
your repo's .\run\localclient\resource
directory. Running postbuild.bat
from the root directory of the repo will also perform the copy function.
Resources may differ between versions of Meridian 59 - if using this
repository for a different version of the game, make sure you have that
client downloaded and edit postbuild.bat
to copy the appropriate
resources.
- After compilation completes, the client is located at
.\run\localclient
. - You can point your local client at your local server by running the
client
meridian.exe
with command line flags, like this:meridian.exe /U:username /W:password /H:localhost /P:5959
. - Building the client will generate a shortcut to
meridian.exe
, with these flags, however if this shortcut isn't present in your client directory, you can create it by making the shortcut, right-clicking it and selecting Properties, and adding/H:localhost /P:5959
after the existing link in theTarget:
box.
Note that any time you recompile KOD code, changes need to be loaded into your local blakserv server by clicking the 'reload system' arrow icon, next to the 'save game' disk icon.
Meridian uses the third party libraries zlib, libpng and jansson. Each of these is built from source which is included in the appropriately-named directories (libzlib, libpng and libjansson).
For further information please join the #Meridian59de channel on irc.esper.net. You can also join us on the forums where you can ask any questions about the game or the codebase.
Forked from the OpenMeridian codebase, which was forked from the [original Meridian 59 codebase] (https://github.com/Meridian59/Meridian59). Original codebase README file included as README.old.