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 (Add GPL logo)
m (→‎How to Set Up a Server: Fix broken link to Script.zip with a choice of both.)
 
(19 intermediate revisions by 6 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. Do
+
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.)
be sure to consult [[MOSS-Setup#Before You Open Your Server]] for 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.
  
{{tba}}
+
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 source code is hosted in a Mercurial repository here at OpenUru.org.
+
'''Repository address:''' https://foundry.openuru.org/hg/MOSS, https://bitbucket.org/OpenUru_org/moss
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
+
'''Snapshot location:''' https://bitbucket.org/OpenUru_org/moss/downloads/
[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]].
 
  
'''Repository address:''' https://foundry.openuru.org/hg/MOSS
+
'''Binary package:''' ''TBD''
 
+
{{tba}}
'''Snapshot location:''' TBD
 
 
 
'''Binary package:''' TBD
 
  
 
== 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/Scripts893.zip http://assets.openuru.org/cyan/Scripts893.zip] or [http://assets.openuru.org/cyan/Scripts902.zip http://assets.openuru.org/cyan/Scripts902.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.
 
  
 
== 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
+
Almost any code contribution is welcome. What is unwelcome?
adding documentation about how MOSS works, are two good examples. It's a wiki,
+
* Protocol/behavior changes without corresponding client support (obviously).
please contribute anything you think others might want to read.
+
* 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.
  
Almost any code contribution is welcome. What is unwelcome? Protocol/behavior
+
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].
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 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.
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
+
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.
increases the chances of it getting fixed rather a lot.
 
  
Bug fixes are very valuable.
+
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
[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
 
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. I think the
+
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
best for MOSS will be to use similar standards for determining who is given
+
people will get write access soon enough!
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
+
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-Setup]]
+
== References ==
 
+
<references />
[[MOSS-Developer_Notes]]
 
 
 
[[CyanWorlds.com_Engine]]
 
  
 
[[Category:MOSS]]
 
[[Category:MOSS]]

Latest revision as of 15:27, 23 October 2020

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.

Repository address: https://foundry.openuru.org/hg/MOSS, https://bitbucket.org/OpenUru_org/moss

Snapshot location: https://bitbucket.org/OpenUru_org/moss/downloads/

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/Scripts893.zip or http://assets.openuru.org/cyan/Scripts902.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