In Memoriam: Tai'lahr
OpenUru.org, along with the rest of the Mystonline community, is mourning the loss of Tai'lahr on October 16th, 2019.
Rest in Peace, friend.
MOSS
MOSS is a unix-based server for the Myst Online: Uru Live client. Development began after the announcement of the shutdown of MOUL. It is complete enough to play the entire game, supports multiplayer use, is licensed under GPLv3, and is not ported to Windows.
MOSS was developed by a'moaca' and cjkelly1. a'moaca' wrote all the C/C++ code,
and cjkelly1 wrote most of the SQL code, including doing research to determine
how to set up the vault. cjkelly1 wrote a tool to create the manifest files
required by the server, and also made the invaluable contribution of a lot of
testing over the years. Weldergeek helped with some of the multiplayer testing,
especially Heek. a'moaca' sincerely hopes there will be more contributors now
that MOSS is released.
Why Use MOSS?
If you just want to host a private shard, MOSS should serve your purposes. "Before You Open Your Server" has some help on what you need to do if you host an Uru shard.
The server definitely works with the CWE client! If you are thinking of doing client development you will probably find a server that is not MOULagain to test with quite valuable. (MOSS was also tested with PlasmaClient, but it does not fully work for PlasmaClient because it does some things that a'moaca' argues are bugs from the system perspective. Let's fix PlasmaClient.)
The server has some features meant to help make it a little easier to test ages you are creating. The SDL files for an age are loaded each time the age is started up so you can change them without restarting MOSS. There is full support for multiple .pak files. So, run your own server, test at your own pace. Test in the CWE client and not the PotS one.
How to Get It
Content to be advised.
The source code is hosted in a Mercurial repository here at OpenUru.org.
You can clone (download) a copy of the repository using Mercurial, or you can
use a snapshot. If you are considering making changes to the code, you will
probably prefer using the version control. If you just want to compile and run
a server, a snapshot should do. In addition, a compiled version is
available for the TBD platform.
If you are new to Mercurial, you may want to check the QuickStart. There are links to more complete documentation at the bottom. The Foundry is secured via SSL throughout the site. A browser security certificate is needed. Instructions are available on the certificate installation page.
Repository address: https://foundry.openuru.org/hg/MOSS
Snapshot location: TBD
Binary package: TBD
How to Set Up a Server
The setup file contains a complete set of installation instructions. They do assume you are conversant with setting up software and basic management of a database. For additional setup instructions, see MOSS-Setup. Feel free to add any hints specific to your distribution here.
Cyan has provided a copy of the files needed for a server hosting MOUL content. The .sdl, .age, and Python source are all available at http://assets.openuru.org/cyan/Scripts.zip. If you are not interested in compiling your own Python from this source, you can also get a copy of the compiled Python from http://assets.openuru.org/cyan/AuthFiles.zip.
There is some Q&A and other notes of possible interest to someone running a server at MOSS-Notes.
How to Contribute
Contributing to the wiki pages is welcome. Adding extra setup instructions, or adding documentation about how MOSS works, are two good examples. It's a wiki, please contribute anything you think others might want to read.
Almost any code contribution is welcome. What is unwelcome? Protocol/behavior changes without corresponding client support (obviously). Changes that remove security without the option of keeping it. Changes that introduce security holes, either in the server itself or the vault. Changes that break big-endian support (call it a pet peeve if you like, it's still unwelcome). Changes that break the build (accidents do happen, but don't break it on purpose). Hopefully it is not difficult to see why these things are unwelcome.
If you find a bug, please report it. Please, please, please search first to see if it's already reported. The bug tracker is here: https://foundry.openuru.org/jira/browse/MOSS
If you find a bug and fix it, include the patch with the bug report! This increases the chances of it getting fixed rather a lot.
Bug fixes are very valuable. Grab a bug and fix it! Check out MOSS-Project_Ideas for more ideas.
If you want to add a feature or change something, you can file a feature request or task bug to get your change considered for the central repository.
If you want write access to the central repository, contribute. I think the best for MOSS will be to use similar standards for determining who is given write access as CWE. At this time that's undecided, so I leave MOSS equally undecided. However, MOSS's original author is more involved than CWE's so if only a couple people show up to help then it's pretty clear a couple people will get write access soon enough!
Code reviewers might be needed. If you are willing to be a reviewer, say so! It is a very valuable contribution.