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.

Difference between revisions of "MOSS"

From OpenUru
Jump to navigation Jump to search
m (→‎How to Contribute: Break out list for clarity)
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
MOSS is a unix-based server for the Myst Online: Uru Live client. Development
+
'''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.
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.
 
 
<div style="float: right; padding: 10px;">http://assets.openuru.org/logos/gpl/gplv3-127x51.png</div>
 
<div style="float: right; padding: 10px;">http://assets.openuru.org/logos/gpl/gplv3-127x51.png</div>
 
+
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? ==
 
== Why Use MOSS? ==
 +
If you just want to host a private shard, MOSS should serve your purposes. [[MOSS/Setup#Before You Open Your Server | "Before You Open Your Server"]] has some information on what you need to do should you decide to host an Uru shard.
  
If you just want to host a private shard, MOSS should serve your purposes.
+
The server definitely works with the [[CyanWorlds.com_Engine | 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. Development on PlasmaClient is currently suspended<ref>[http://www.nastyprisms.com/temp/cache/plasmaclient.info/ PlasmaClient archived home page]</ref>, but let's fix it if development resumes.)
[[MOSS-Setup#Before You Open Your Server | "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 [[CyanWorlds.com_Engine | CWE client]]! If
+
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 <abbr title="The Path of the Shell">PotS</abbr> one.
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 ==
 
== How to Get It ==
 +
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.
  
The source code is hosted in a Mercurial repository here at OpenUru.org.
+
If you are new to Mercurial, you may want to check the [http://mercurial.selenic.com/wiki/QuickStart QuickStart guide]. 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 [[Foundry_Certificate_Installation | certificate installation
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
 
[http://mercurial.selenic.com/wiki/QuickStart 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 [[Foundry_Certificate_Installation | certificate installation
 
 
page]].
 
page]].
  
 
'''Repository address:''' https://foundry.openuru.org/hg/MOSS
 
'''Repository address:''' https://foundry.openuru.org/hg/MOSS
  
'''Snapshot location:''' TBD
+
'''Snapshot location:''' ''TBD''
  
'''Binary package:''' TBD
+
'''Binary package:''' ''TBD''
 
{{tba}}
 
{{tba}}
  
 
== How to Set Up a Server ==
 
== How to Set Up a Server ==
 +
The [http://foundry.openuru.org/fisheye/browse/MOSS/doc/setup 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 [[MOSS/Distribution_Specific_Instructions | here]].
  
The [http://foundry.openuru.org/fisheye/browse/MOSS/doc/setup setup] file
+
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 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 http://assets.openuru.org/cyan/AuthFiles.zip].
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 [[MOSS-Distribution_Specific_Instructions | here]].
 
  
Cyan has provided a copy of the files needed for a server hosting MOUL content.
+
There is some Q&A and other notes of possible interest to someone running a server at [[MOSS/Notes]].
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 ==
 
== 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.
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?  
 
Almost any code contribution is welcome. What is unwelcome?  
Line 88: Line 42:
 
Hopefully it is not difficult to see why these things are unwelcome.
 
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 you find a bug, please report it. However, please, please, please search first to see if it has already been reported. The bug tracker is available [https://foundry.openuru.org/jira/browse/MOSS here].
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
+
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.
increases the chances of it getting fixed rather a lot.
 
  
Bug fixes are very valuable.
+
Bug fixes are very valuable. [https://foundry.openuru.org/jira/browse/MOSS Grab a bug] and fix it! Check out [[MOSS/Project_Ideas]] for more ideas.
[https://foundry.openuru.org/jira/browse/MOSS 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
+
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
request or task bug to get your change considered for the
 
 
[https://foundry.openuru.org/hg/MOSS central repository].
 
[https://foundry.openuru.org/hg/MOSS central repository].
  
If you want write access to the central repository, contribute. The best choice
+
If you want write access to the central repository, contribute. The best choice for MOSS will probably be to use similar standards for determining who is given write access as CWE. At this time that's undecided, so the plan for MOSS is 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
for MOSS will probably be to use similar standards for determining who is given
 
write access as CWE. At this time that's undecided, so the plan for MOSS is
 
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!
 
people will get write access soon enough!
  
Code reviewers might be needed. If you are willing to be a reviewer, say so! It
+
Code reviewers might be needed. If you are willing to be a reviewer, say so! It is a very valuable contribution.
is a very valuable contribution.
 
  
 
== See Also ==
 
== See Also ==
 +
{{:MOSS/See Also}}
 +
* [[CyanWorlds.com Engine]]
 +
* [[Building the plPythonPack and plFileSecure projects]]
  
[[MOSS-Notes]]
+
== References ==
 
+
<references />
[[MOSS-Setup]]
 
 
 
[[MOSS-Developer_Notes]]
 
 
 
[[CyanWorlds.com_Engine]]
 
  
 
[[Category:MOSS]]
 
[[Category:MOSS]]

Revision as of 01:56, 9 March 2012

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.

http://assets.openuru.org/logos/gpl/gplv3-127x51.png

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 information on what you need to do should you decide to 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. Development on PlasmaClient is currently suspended[1], but let's fix it if development resumes.)

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

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

http://assets.openuru.org/wiki/icons/wip_30x30.PNG

Content to be advised.


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. However, please, please, please search first to see if it has already been reported. The bug tracker is available here.

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. The best choice for MOSS will probably be to use similar standards for determining who is given write access as CWE. At this time that's undecided, so the plan for MOSS is 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.

See Also

References