Files
apollo/docs/guide/getting-started/02-running-apollo.md
T
2019-08-04 02:00:58 +01:00

2.5 KiB
Raw Blame History

This is a short guide to getting a copy of Apollo from our VCS and running a server able to accept connections from a game client. It assumes youre starting fresh and have no local copy of Apollo.

Requirements

You should be familiar with running programs on the UNIX shell or Windows command prompt. There is also a short list of prerequisites below needed to complete this guide.

  • Git
  • Gradle
  • Java 8
  • RuneScape r377 game data files [1]

Getting Apollo

Note

Apollo is still in a development phase and has no current stable release, so to run the server we need to build it from sources first.

The URL for the Apollo git repository is https://github.com/apollo-rsps/apollo.git. You can clone this using the git command-line client or by using the GitHub desktop client.

> $ git clone <https://github.com/apollo-rsps/apollo.git>

If using the command line client, the repository will now be under a folder named apollo and is ready to build. When complete open a shell or Windows command prompt in that directory and move to the next step.

Building Apollo

Apollo uses Gradle build scripts as its build system. To build it, create a command prompt or shell in the Apollo repository folder and run:

> $ ./gradlew assemble genRsa

This will build the core server with the content plugins and run their respective tests. This process takes around a minute to complete and when done will generate and output a set of RSA key parameters used by connecting clients to encrypt their credentials. Save these for later.

Starting Apollo

The last dependency is putting the game data in a location where the server can find it. By default Apollo looks under data/fs in the root directory for a folder matching the release number. Apollo supports release 377, so in our case we want the directory structure to look like this:

data/fs
└── 377
    ├── jingle1.mid
    ├── main_file_cache.dat
    ├── main_file_cache.idx0
    ├── main_file_cache.idx1
    ├── main_file_cache.idx2
    ├── main_file_cache.idxN

Now that everything is in place we can use the Gradle task to boot the server.

> $ gradle server:run

After booting Apollo will have loaded the game data and be ready to accept connections.

[1] We are unable to provide user-end assets like the game data or client due to copyright restrictions.