Highly Performant & Scalable Ultima Online Server Emulator
https://www.modernuo.com
c-sharpcsharpcsharp-coredotnetdotnet-coreemulatorgplgplv3mmommo-enginemmorpgmmorpg-serveronlinerpgrunuoserverservuoultimaultima-onlineuo
## Breaking Changes
Incoming packet registration signature has changed to:
```cs
delegate* void OnReceiveCallback(NetState state, SpanReader reader, int packetLength);
IncomingPackets.Register(int packetID, int length, bool ingame, OnReceiveCallback onReceive);
```
For example, an incoming packet handler signature would now look like this:
```cs
public static void SomeIncomingPacket(NetState state, SpanReader reader, int packetLength)
{
// Parse the data
}
```
## Summary
Updates the network Pipe class to use a mirrored memory technique. This technique involves mapping the same physical memory to two contiguous virtual memory spaces so the byte buffer appears duplicated. This allows writing to a double-sized array to wrap around without the need for the `CircularBuffer` classes.
In practice this allows us to use `Span<byte>` as if the buffer was a regular array.
### Bug Fixes
- [X] Fixes bad fixed length string parsing
|
||
|---|---|---|
| .config | ||
| .github | ||
| Distribution/Data | ||
| docs | ||
| Projects | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| azure-pipelines.yml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Directory.Build.props | ||
| FAQ.md | ||
| global.json | ||
| LICENSE | ||
| mkdocs.yml | ||
| ModernUO.sln | ||
| publish.cmd | ||
| publish.sh | ||
| README.md | ||
| rider-settings.zip | ||
| Rules.ruleset | ||
| RUNUO_TO_MODERNUO.md | ||
| SPONSORS.md | ||
| stylecop.json | ||
| THIRD-PARTY-NOTICES | ||
| version.json | ||
ModernUO

Ultima Online Server Emulator for the modern era!
Requirements
Supported Operating Systems
Required Frameworks
All Operating Systems
Windows
Development
Supported IDEs
Getting Started
- Install prerequisite requirements
- Clone this repository (or download the latest):
git clone https://github.com/modernuo/ModernUO.git
- Open
ModernUO.slnto start developing
Building/Publishing
- Run
./publish.cmd [release|debug (default: release)] [os] [arch (default: x64)]os- Supported operating systemswin- Windows 10/11/2019/2022osx- MacOS 11/12/13 (Big Sur, Monterey, Ventura)linux- Linux
archx64- Intel 64-bitarm64- ARM 64-bit (Windows Arm64 not supported)
Linux Prerequisites
Fedora, CentOS, RHEL, etc
dnf upgrade --refresh -y
# CentOS does not come with EPEL enabled
dnf install -y epel-release epel-next-release
dnf install -y findutils libicu zlib-devel zstd libargon2-devel tzdata
Ubuntu, Debian, etc
apt-get update -y
apt-get install -y libicu-dev libz-dev zstd libargon2-dev tzdata
Running the Server
- Follow the publish instructions
- Run
ModernUO.exeordotnet ModernUO.dllfrom theDistributiondirectory on the
Troubleshooting / FAQ
- See FAQ
Want to sponsor?
Thank you for supporting us! You can find out how by visiting the sponsors page.
Collaborators
Thanks
- RunUO Team & Community
- Voxpire, the ServUO Team & Community
- Karasho, Jaedan and the ClassicUO Community



