Open Meridian Project Forums

  • January 16, 2018, 03:25:31 PM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

Author Topic: Compiled server and client  (Read 2611 times)

fig bucker

  • Newbie
  • *
  • Karma: +0/-0
  • Posts: 3
    • View Profile
Compiled server and client
« on: August 27, 2015, 06:46:38 PM »

How's it going? Well, I wanted to see if I could get someone to post a link to a compiled server and client. I got the meridian 59 master.zip thing and got my trial of visual studio running, and eventually was able to point the vs command line at the unzipped folder and it started compiling after I typed NMAKE release=1! But it seems like a whole bunch of stuff is missing in both the server and client. I have no clue what to do next as most of this stuff is beyond me. I really wanted to play this on lan with my friends. Thanks.
Logged

Evil_Sibhod

  • Moderator
  • Hero Member
  • *****
  • Karma: +42/-0
  • Posts: 348
    • View Profile
Re: Compiled server and client
« Reply #1 on: August 27, 2015, 07:35:40 PM »

By 'a whole bunch of stuff is missing' it sounds like you mean the resources. This is accurate due to those not being opensource with the code. You'll have to copy them by running (I believe this is still the process) postbuild.bat from the meridian source directory.

I invite you to the IRC channel where you can get a little more immediate help
http://openmeridian.org/forums/index.php?action=chat
Logged

Delerium

  • Hero Member
  • *****
  • Karma: +54/-1
  • Posts: 590
    • View Profile
Re: Compiled server and client
« Reply #2 on: August 27, 2015, 08:28:23 PM »

You need to download the 103 client to obtain the resources, which you can do by installing and running the patcher from here: http://openmeridian.org/patcher/

Once you've done that, when you build the client using nmake or Visual Studio, the resources will automatically be copied into the .\run\localclient\resource directory. These instructions are also listed here: https://github.com/OpenMeridian/Meridian59#getting-started-client. Running postbuild.bat by itself (provided the patcher and 103 client are both installed) will do the same thing; this script is run during the build process.
« Last Edit: August 27, 2015, 08:30:02 PM by Delerium »
Logged

Aerasol

  • Jr. Member
  • **
  • Karma: +4/-0
  • Posts: 24
    • View Profile
Re: Compiled server and client
« Reply #3 on: August 28, 2015, 01:14:48 AM »

It was the same way when we got into the Build engine and the Q3A engine, and I would assume every other engine that has ever been opened up. The engine is bound by different rights than the content, as the engine can be used for multiple games while the content makes a particular game. It's kind of like buying an empty journal to write in versus buying a book at a bookstore. For those true D&D nerds out there, you understand this as the game system versus your realm bound by the rules of that game system.

Obviously those analogies kind of break down at certain points due to this game having a persistent server environment and having content formatted separately for a server and client as opposed to the other FPS game engines that usually get released, but the distribution rights are similar. And for anyone that brings up Trinity or Mangos as a response to this, you shall get slapped for reasons obvious to the rest of us.
« Last Edit: August 28, 2015, 02:34:05 AM by Aerasol »
Logged

fig bucker

  • Newbie
  • *
  • Karma: +0/-0
  • Posts: 3
    • View Profile
Re: Compiled server and client
« Reply #4 on: August 31, 2015, 03:47:51 PM »

Ok, I downloaded the patcher and that downloaded an (to my knowledge) updated 103 client with all of the resources. Is the next step to copy and paste these 103 resources to my original run/client/resource folder? Does the server need them as well?
I ran postbuild.bat after I compiled, and it says "Copying official graphics to client folder...
the system cannot find the path specified..."
When I put those 103 client resources into my repositorie's client/resource directory and try to connect to localhost it says that the game has changed and i should press yes to update or no to keep playing outdated. Either choice leads to the client freezing.
Sorry about so many jumbled questions. I would appreciate any help.
« Last Edit: August 31, 2015, 04:35:38 PM by fig bucker »
Logged

Aerasol

  • Jr. Member
  • **
  • Karma: +4/-0
  • Posts: 24
    • View Profile
Re: Compiled server and client
« Reply #5 on: August 31, 2015, 07:36:41 PM »

At the bottom of this post I just copied and pasted the README in the source's base directory... Maybe that should be made a sticky by itself. Please also note the following default server configuration options:

The following [Path] section tells the server where its resources are. If you just throw them in the server folder, that's not necessarily where these defaults are pointing.

[Path]               
Bof                  loadkod\
Memmap               memmap\
Rsc                  rsc\
Rooms                ..\..\resource\rooms\
Motd                 .\
Channel              channel\
LoadSave             savegame\
Forms                .\
Kodbase              ..\..\kod
PackageFile          .\

The following [Login] section contains the version control, so if you are just using any old arbitrary version of the client it's not going to work without changing these first. The basic build will render a client with version number 5031.

[Login]
MinVersion           0
OldVersionStr        <The game software has been upgraded while you have been online. Logoff and then login again to automatically upgrade your software.>
InvalidVersion       100
InvalidVersionStr    <Your version of the game software is beta; you need to purchase the latest version.>

The following [Update] section contains the URL paths needed to grab the updates. Note there are no places to put in FTP credentials, which means all connections must be allowed to connect anonymously.

[Update]             
ClientMachine        unknown
ClientFilename       unknown
PackageMachine       unknown
PackagePath          unknown
DownloadReason       <An update of Meridian files is available and required.>

**THE FOLLOWING IS DEPRECATED INFO, SUCCEEDED BY THE PATCHER**
And lastly, the packages.txt contains the list of archived packages compressed and uncompressed utilizing ARQ Archive Utility v3.12, which can be found in your base client directory. I would also include the defaults for that here if there were any, however by default it's empty.

*And just a personal note. I know many of you have dreams of downloading the source and making your own game or whatever. If you just want to code M59, you can get the source here: https://github.com/Meridian59/Meridian59. Otherwise, if you have time to dick around with the 103 source, I would love to see you get in touch with Daenks about what needs to be done on 103 and get yourself a community role and join the team. This is the Open Meridian 59 Community, so I am sure everyone here, including myself, is more than happy to help answer Open M59 questions. The 103 source, however, didn't just happen overnight. And although we are entirely open to you taking the 103 source and doing what you want, we are still in the dev process ourselves and would appreciate it if you paid it forward a little bit. If everybody pitched in as a team towards a single server, this game could be on Steam in no time. However, Steam is just going to discount this game all together if loads of requests from different individuals start flooding in, and then everybody will just be rolling up into an empty Fams on their own empty private servers asking Paddy what happened and how it all went so horribly wrong.

Build Instructions
--------------
These [instructions](http://wiki.openmeridian.org/index.php/Detailed_Build_Instructions)
can also be found on our [wiki](http://wiki.openmeridian.org/index.php/Main_Page).

0. Install [Microsoft Visual Studio 2013](http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx)
or greater.
0. Download the source code, either with a git client or with the
"Download ZIP" option from your chosen repository.

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

Getting Started: Server
--------------
0. After compilation completes, browse to the `.\run\server folder`,
and double click `blakserv.exe` to start the server.
0. 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.
0. Then create a character slot on that account with `create admin 4`,
using whichever number the previous line returned instead of 4.
0. 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](http://openmeridian.org/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.


0. After compilation completes, the client is located at
`.\run\localclient`.
0. 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`.
0. 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.
« Last Edit: September 02, 2015, 07:50:58 AM by Aerasol »
Logged

Delerium

  • Hero Member
  • *****
  • Karma: +54/-1
  • Posts: 590
    • View Profile
Re: Compiled server and client
« Reply #6 on: August 31, 2015, 10:14:58 PM »

If you just want to code M59, you can get the source here: https://github.com/Meridian59/Meridian59.

Just want to point out here that even people messing around with the source should probably use https://github.com/OpenMeridian/Meridian59, it's a lot easier to work with and we can pull in any changes that are suitable (we can do this for any version of the codebase but obviously compatibility makes things easier).
Logged

Aerasol

  • Jr. Member
  • **
  • Karma: +4/-0
  • Posts: 24
    • View Profile
Re: Compiled server and client
« Reply #7 on: August 31, 2015, 10:20:43 PM »

That would be the ideal situation, yes, for those wanting to contribute :P
Logged

keen

  • Sr. Member
  • ****
  • Karma: +32/-2
  • Posts: 131
    • View Profile
Re: Compiled server and client
« Reply #8 on: September 01, 2015, 10:37:29 PM »

Yah thats a link to the 101 codebase, your results will be different with that code.  Also, we don't use the ARQ system for updates or packages.txt.  This has been replaced by the patcher.
Logged

Aerasol

  • Jr. Member
  • **
  • Karma: +4/-0
  • Posts: 24
    • View Profile
Re: Compiled server and client
« Reply #9 on: September 02, 2015, 04:47:32 AM »

Updated the post :P Also, the 101 link was intentional for those members of the community seeking to do their own thing, as using the 103 source may not be a beneficial starting point depending on the direction they are going with it. Being on this site in the first place and asking a question specifically about the 103 source, I had assumed they didn't need a link to that.

If there are any future questions about the server/client build that my earlier post does not address and/or resolve, please read through your own server configurations (show config) and the error log file generated by your server and include them in your post if simply reading them doesn't help you.
« Last Edit: September 02, 2015, 05:39:11 AM by Aerasol »
Logged

fig bucker

  • Newbie
  • *
  • Karma: +0/-0
  • Posts: 3
    • View Profile
Re: Compiled server and client
« Reply #10 on: September 03, 2015, 04:44:04 PM »

Ok, got it working. Thanks alot! ;D
Logged