Open-source multiplayer game server compatible with the RuneScape client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
openrs2/README.md

91 lines
3.6 KiB

# OpenRS2
[![Drone][drone-badge]][drone] [![Discord][discord-badge]][discord] [![ISC license][isc-badge]][isc]
## Introduction
OpenRS2 is an open-source multiplayer game server and suite of associated
tools. It is compatible with build 550 of the RuneScape client, which was
released in late 2009.
## Prerequisites
OpenRS2 requires version 11 or later of the [Java Development Kit][jdk].
The JDK is required even if a pre-built copy of OpenRS2 is used, as it depends
on JDK-only tools, such as `jarsigner`, at runtime.
### Non-free components
OpenRS2 requires the original RuneScape client code, data and location file
encryption keys, which we cannot legally distribute.
These files must be manually placed in the `nonfree` directory (directly
beneath the root of the repository), in the following structure:
```
nonfree
└── lib
├── jaggl.pack200
├── loader_gl.jar
├── loader.jar
├── runescape_gl.pack200
├── runescape.jar
└── unpackclass.pack
```
The CRC-32 checksums and SHA-256 digests of the correct files are:
| CRC-32 checksum | SHA-256 digest | File |
|----------------:|--------------------------------------------------------------------|------------------------------------|
| `-1418094567` | `d39578f4a88a376bcb2571f05da1939a14a80d8c4ed89a4eb172d9e525795fe2` | `nonfree/lib/jaggl.pack200` |
| `-2129469231` | `31182683ba04dc0ad45859161c13f66424b10deb0b2df10aa58b48bba57402db` | `nonfree/lib/loader_gl.jar` |
| `-1516355035` | `ccdfaa86be07452ddd69f869ade86ea900dbb916fd853db16602edf2eb54211b` | `nonfree/lib/loader.jar` |
| `-132784534` | `4a5032ea8079d2154617ae1f21dfcc46a10e023c8ba23a4827d5e25e75c73045` | `nonfree/lib/runescape_gl.pack200` |
| `1692522675` | `0ab28a95e7c5993860ff439ebb331c0df02ad40aa1f544777ed91b46d30d3d24` | `nonfree/lib/runescape.jar` |
| `-1911426584` | `7c090e07f8d754d09804ff6e9733ef3ba227893b6b639436db90977b39122590` | `nonfree/lib/unpackclass.pack` |
The `.gitignore` file includes the `nonfree` directory to prevent any non-free
material from being accidentally included in the repository.
## Building
Run `./gradlew` to download the dependencies, build the code, run the unit tests
and package it.
IDEA 2020.3's built-in build system breaks with a cryptic
`java: java.lang.IllegalArgumentException` error message when compiling modules
that use the `deob-annotations` processor. A workaround is to add
`-Djps.track.ap.dependencies=false` to the 'Shared build process VM options' in
File -> Settings -> Build, Execution and Deployment -> Compiler. See
[IDEA-256707][idea-bug] for more information.
### Versioning
OpenRS2 uses [Semantic Versioning][semver].
## Links
* [Discord][discord]
* [Issue tracker][issue-tracker]
* [KDoc][kdoc]
* [Website][www]
## License
OpenRS2 is available under the terms of the [ISC license][isc], which is
similar to the 2-clause BSD license. The full copyright notice and terms are
available in the `LICENSE` file.
[discord-badge]: https://img.shields.io/discord/684495254145335298
[discord]: https://chat.openrs2.org/
[drone-badge]: https://build.openrs2.org/api/badges/openrs2/openrs2/status.svg
[drone]: https://build.openrs2.org/openrs2/openrs2/
[idea-bug]: https://youtrack.jetbrains.com/issue/IDEA-256707
[isc-badge]: https://img.shields.io/badge/license-ISC-informational
[isc]: https://opensource.org/licenses/ISC
[issue-tracker]: https://git.openrs2.org/openrs2/openrs2/issues
[jdk]: https://jdk.java.net/
[kdoc]: https://docs.openrs2.org/
[semver]: https://semver.org/
[www]: https://www.openrs2.org/