OpenMeridian105 / Meridian59

The MMORPG Meridian 59 - Server 105
https://www.meridiannext.com
Other
16 stars 16 forks source link
game mmo mmorpg rpg

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.

Server 105 Update 2.9 Source Code Release

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.

Play Meridian 59

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.

Contribute to Meridian 59 development

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).

License

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.

What's included and not included

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.

Build Instructions

These build instructions can also be found on the Server 105 GitHub wiki.

  1. 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).
  2. Download this source code, either with a git client or with the "Download ZIP" option from your chosen repository.

Visual Studio GUI build

  1. 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.

Makefile build

  1. 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".
  2. 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"
  3. OPTIONAL: set the "Start In" property of your shortcut to the folder that contains the meridian source code for ease of use.
  4. Open the Meridian Development Shell and navigate to the folder containing the source code, then enter nmake debug=1 to compile.

Getting Started: Server

  1. After compilation completes, browse to the .\run\server folder, and double click blakserv.exe to start the server.
  2. 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 saying Created ACCOUNT 4 or similar.
  3. Then create a character slot on that account with create admin 4, using whichever number the previous line returned instead of 4.
  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.

Getting Started: Client

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.

  1. After compilation completes, the client is located at .\run\localclient.
  2. 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.
  3. 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 the Target: 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.

Third-Party Code

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).

Contact Information

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.