AnotherlandServer / anotherland

A server emulator for the otherland next mmo
GNU Affero General Public License v3.0
12 stars 0 forks source link
mmorpg-server rust server-emulator

Anotherland

Anotherland Logo

Introduction

Welcome to the Anotherland Server Emulator project, a community-driven initiative to resurrect the MMORPG, Otherland. This emulator aims to recreate the experience of Otherland by providing tools and instructions to set up and run your own server for the game.

Currently, the project is undergoing a major rewrite and is not yet playable. If you simply want to run a local instance of the server, you should check out the tag v0.1.1 and follow the README there, or use the pre-compiled Docker image with the same name.

Prerequisites

Before you begin, ensure you have the following installed:

Compilation

Clone the repository to your local machine:

git clone https://github.com/AnotherlandServer/anotherland.git

Set the environment variable OTHERLAND_CLIENT_PATH to the path of your game client installation.

Build the project using Cargo:

cargo build

Architecture

The server is divided into multiple services that can be run across distributed machines.

Per-cluster services:

Per-realm services:

Running the Server

Bootstrap

  1. Start the core_service and wait for the GraphQL interface to become available. Use the Rover CLI with the rover dev command to launch an IDE for interfacing with the GraphQL API.

  2. Use the createRealm mutation to create your first realm.

  3. Start the realm_manager_service with the --realm-id parameter, specifying the ID of the realm you just created, to begin setting up the realm.

  4. Once the service is fully started, use the seed-realm tool to seed the realm database by extracting content from the Otherland client files.

  5. After completing these steps, start the remaining services and connect to your realm.

General Notes

Connecting to a Server

  1. Open UnrealEgine3/AmunGame/Config/DefaultUI.ini within the client’s folder and locate the line:

    +ConfigureLoginAddress=(srvName="#UI.EU_Server_LIVE#", srvAddress="78.46.105.144", srvPort=6112, queuePort=53292)

    Replace the srvName option with any name you like. Set srvAddress to the public IP of your server. If you run Anotherland with default parameters, you don't need to modify srvPort or queuePort.

  2. Open Atlas/data/otherlandgame/config/clientcfg.ini and locate the line:

    verificationSrv =78.46.105.144

    Replace the IP address with the public IP of your server to enable Steam login.

Contribution

Currently, we are not accepting contributions as Anotherland is in its initial development phase. Our immediate goal is to build a stable foundation for the project. We appreciate your interest and enthusiasm and intend to open the project for community contributions in the future.

License

This project is licensed under the AGPL-3.0 License.

Disclaimer

This project is a fan-based initiative and is not officially affiliated with, endorsed by, or connected to any of the original creators or entities involved in the development of Otherland, including Game OL GmbH, DRAGO Entertainment S.A., or Tad Williams. This emulator is developed and maintained by enthusiasts with no commercial intent and respects the intellectual property rights of the original creators.