{"id":17329434,"url":"https://github.com/zrax/moulars","last_synced_at":"2025-08-01T19:33:20.188Z","repository":{"id":182637133,"uuid":"664347812","full_name":"zrax/moulars","owner":"zrax","description":"Myst Online: Uru Live server in Rust","archived":false,"fork":false,"pushed_at":"2025-06-26T21:43:51.000Z","size":494,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-26T23:12:31.812Z","etag":null,"topics":["game-server","hacktoberfest","myst","plasma","rust","uru"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zrax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-09T17:41:30.000Z","updated_at":"2025-06-26T21:43:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"cd6e7d9f-4c6e-4d23-982d-fa1ae8da04c2","html_url":"https://github.com/zrax/moulars","commit_stats":null,"previous_names":["zrax/moulars"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zrax/moulars","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrax%2Fmoulars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrax%2Fmoulars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrax%2Fmoulars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrax%2Fmoulars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zrax","download_url":"https://codeload.github.com/zrax/moulars/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrax%2Fmoulars/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268286836,"owners_count":24226148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-server","hacktoberfest","myst","plasma","rust","uru"],"created_at":"2024-10-15T14:48:03.862Z","updated_at":"2025-08-01T19:33:20.151Z","avatar_url":"https://github.com/zrax.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MOULArs - A Myst Online: Uru Live (Again) server in Rust\n\n## Introduction\nMOULArs is a [DirtSand](https://github.com/H-uru/dirtsand) compatible Myst\nOnline: Uru Live (Again) server written in Rust.  Although it is based on\nDirtSand, it is differentiated by a few key features:\n* Memory and error safety means the server is more resilient to crashes and \n  misbehavior caused by clients sending bad or unexpected data.\n* Simpler configuration and setup, including automatic File Server manifest\n  generation (see below)\n* Better cross-platform compatibility.  MOULArs is known to work on both\n  Linux and Windows, but it should also work anywhere else Rust and the\n  library dependencies can run (macOS, OpenIndiana, *BSD, etc...)\n* MOULArs includes a REST API which can be used for informational and\n  administrative tasks.\n\nLike DirtSand, MOULArs is designed to work best with the\n[H-uru Plasma](https://github.com/H-uru/Plasma) client, but it may work\nwith other compatible CWE/Plasma clients as well.\n\n## Building the code\nAssuming you have [rust](https://www.rust-lang.org/) with cargo already\ninstalled, building is usually as simple as cloning the repo and running\n`cargo build`.\n\nFor release builds (recommended for production servers), you should build\ninstead with `cargo build --release`.\n\n## Setting up a server\n*... Database TBD ...*\n\n### File Server\nMOULArs includes a manifest generation tool that only requires you to provide\nfiles in an expected directory structure, and it will automatically generate\nmanifests and encrypt/compress the files as appropriate.  To use it, run\n`mfs_tool update \u003cpath to data root\u003e [--python \u003cpath to python executable\u003e]`.\nThis will update existing manifests with any changes and new files, as well as\nproducing new manifests (both for the initial server setup and for newly added\nclient flavors, ages, etc.).  When the `--python` parameter is also used, it\nwill also compile any .py source files in the `Python` directory and produce\nan encrypted .pak file for the Auth server to send to clients.\n\nTo ensure all required manifests are properly generated, you should provide\nthe files in the following structure:\n\n```\n\u003cdata root\u003e (Configured via moulars.toml)\n|- client/\n|  |- windows_ia32/\n|  |  |- external/\n|  |  |  |- UruExplorer.exe  (External build)\n|  |  |  |- UruLauncher.exe  (External build)\n|  |  |  |- vcredist_x86.exe\n|  |  |  `- Other .dll, .pdb, etc files for external build\n|  |  `- internal/\n|  |     |- plUruExplorer.exe  (Internal build)\n|  |     |- plUruLauncher.exe  (Internal build)\n|  |     |- vcredist_x86.exe\n|  |     `- Other .dll, .pdb, etc files for internal build\n|  `- windows_x64/\n|     |- external/\n|     |  |- UruExplorer.exe  (External x64 build)\n|     |  |- UruLauncher.exe  (External x64 build)\n|     |  |- vcredist_x64.exe\n|     |  `- Other .dll, .pdb, etc files for external build\n|     `- internal/\n|        |- plUruExplorer.exe  (Internal x64 build)\n|        |- plUruLauncher.exe  (Internal x64 build)\n|        |- vcredist_x64.exe\n|        `- Other .dll, .pdb, etc files for internal build\n|- avi/\n|  `- video files (.webm, .bik, etc)\n|- dat/\n|  `- .age, .prp, .fni, .p2f, etc files\n|- Python/\n|  `- .py files from Plasma's Scripts\n|- SDL/\n|  `- .sdl files\n`- sfx/\n   `- .ogg files required by PRPs\n```\n\nNOTE: Even if you do not plan on hosting a file server, you will need to\nprovide the .age and .sdl files for the Game and Vault servers to function\nproperly with the client's data set.  It is not required to encrypt the files\nor build manifests when running without a file server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrax%2Fmoulars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzrax%2Fmoulars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrax%2Fmoulars/lists"}