The MMORPG Meridian 59 - Server 103
Clone or download
#1385 Compare This branch is 3342 commits ahead, 205 commits behind Meridian59:master.
skittles1 Fix room deletion bug, add rooms table printing cmd.
If the room being deleted wasn't first in the list, the previous rooms
in the list occupying that position in the rooms table were no longer
being referenced (only rooms past the deleted one). Specifically,
deleting rented rooms after a recreate dropped references to the other
room occupying that position in the table, which due to the order of
room loading tended to be around the kc1-kd4 area. This case is now
handled correctly.

Added an admin "show roomtable" command which prints the rooms table to
admin log, and allowed this issue to be debugged.
Latest commit 35db18a Jan 12, 2016
Permalink
Failed to load latest commit information.
bbgun /fp:precise Oct 17, 2015
bin Refactor client audio Sep 10, 2015
blakcomp Add view frustum based C call to check whether target is in player view Dec 23, 2015
blakdeco Add view frustum based C call to check whether target is in player view Dec 23, 2015
blakdiff /fp:precise Oct 17, 2015
blakserv Fix room deletion bug, add rooms table printing cmd. Jan 12, 2016
clientd3d Fix VS 2015 clientd3d compiling error. Dec 10, 2015
club /fp:precise Oct 17, 2015
design NDS-era design documentation Mar 18, 2013
dlg Add variable NPC response quest prizetype. Jul 14, 2015
doc C temp safe infrastructure Feb 8, 2015
gelmaker Initial upload of Meridian 59 Sep 15, 2012
include Merge branch 'delnews' of https://github.com/skittles1/Meridian59_103 Dec 24, 2015
keybind Fix error in keybind build when building from makefile. Aug 18, 2015
kod Fix year/day handling in RealTime. Jan 6, 2016
lib Add irrKlang headers, lib and dll Sep 10, 2015
libarchive /fp:precise Oct 17, 2015
libpng /fp:precise Oct 17, 2015
libzlib /fp:precise Oct 17, 2015
makebgf /fp:precise Oct 17, 2015
manual Initial upload of Meridian 59 Sep 15, 2012
module Disable delete post button if user has no post permissions. Dec 24, 2015
music/xmi Initial upload of Meridian 59 Sep 15, 2012
mysqltest fix mysqltest Sep 28, 2014
patcher fix cert issue for patchlistgenerator Aug 2, 2015
qbscripts Remove old test scripts with old token Jul 12, 2014
resource acid arrows Dec 16, 2015
roomedit Add texture alignment menu option for circles. Oct 19, 2015
run Merge branch 'update_blakcfg' of https://github.com/treymd/Meridian59… Sep 14, 2015
sql Updated MySQL tables that didn't have a timestamp to include one. Jan 9, 2014
tools Remove all uses of decryption, since files are no longer encrypted Jul 5, 2013
util /fp:precise Oct 17, 2015
www Initial MySQL Statistics Pull Oct 3, 2015
.gitattributes Add built-in Settings object to blakserv. Aug 29, 2015
.gitignore Compile and use static zlib/libarchive Sep 8, 2015
LICENSE Initial upload of Meridian 59 Sep 15, 2012
Meridian59.sln Compile and use static zlib/libarchive Sep 8, 2015
MeridianPalette.BMP Initial upload of Meridian 59 Sep 15, 2012
README.md Update readme.md to reflect new build process. Jun 9, 2015
README.old Rewrite README.md with updated info. Rename README to README.old Apr 28, 2015
blakston.pal Initial upload of Meridian 59 Sep 15, 2012
common.mak /fp:precise Oct 17, 2015
kod-udl.xml Update KOD syntax highlighter of notepad++, also moved to top level Aug 30, 2015
makefile Compile and use static zlib/libarchive Sep 8, 2015
postbuild.bat Modify program files path variable. Jun 9, 2015
postlite.bat Edit postbuild.bat to pull graphics from 103 dir. Apr 28, 2015
rules.mak Modify blakod building. Jun 2, 2015

README.md

Meridian 59 v1.0, September 2012. Andrew Kirmse and Chris Kirmse

Copyright 1994-2012 Andrew Kirmse and Chris Kirmse All rights reserved. Meridian is a registered trademark.

Play Meridian 59

You can create an account at the [Open Meridian Project homepage] (http://openmeridian.org) and download the [client using the launcher] (http://openmeridian.org/patcher). In addition to 103 you can access German and South Korean servers via the patcher interface. You can find a list of all known servers on our wiki.

License

This project is distributed under a license that is described in the LICENSE file. The license does not cover the game content (artwork, rooms, audio, etc.), 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 compression library and audio library are not included.

Build Instructions

These instructions can also be found on our wiki.

  1. Install Microsoft Visual Studio 2013 or greater.
  2. Download the 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 12.0". Navigate to the Common folder, and then the Tools folder. Example: "C:\Program Files (x86)\Microsoft Visual Studio 12.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 12.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 (with your desired username and password). 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. To do this, download the patcher and use that program to download a copy of the 103 or 112 client. 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 103/112 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.

  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 zlib and libarchive. zlib was installed from binaries. libarchive was built from source, with the following cmake environment variables set to use zlib:

  • ZLIB_INCLUDE_DIR points to the include directory
  • ZLIB_LIBRARY points to lib/zdll.lib

Contact Information

For further information please join the #Meridian59 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 [original Meridian 59 codebase] (https://github.com/Meridian59/Meridian59). Original README file included as README.old.