/MultiOgarII

A continued version of the original MultiOgar, an open source Ogar server implementation written with Node.js.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

MultiOgarII

MultiOgarII is a FOSS agar.io server implementation that is based upon the work done by Barbosik.

Quick Start

Before the server can be used you need to install NodeJS (LTS version) onto your machine. Instructions for which are available on the NodeJS website linked above.

Once this is done, the server can be ran by executing the following commands in a Linux terminal or a Windows Command Prompt. This is assuming that you're in the project directory.

# install modules
$ npm i

# change directory
$ cd src

# start server
$ node index.js

Questions / Modifications

If you have a question about how to add a feature, or how to change a behavior of the game, ask for help on the Agar.io Private Servers Discord Do not create a GitHub issue for a question.

Commands

Once started, the server's functionality can be altered via the use of commands. These commands can be listed, and documented, by running help. The command line interface allows for the generation of aliases, which shorten a command - these can be generated by running aliases. This command shortens all of the available commands into short abreviation/ For example, the command killall is shortened down to kl - where the last characters form the alias.

Gamemodes

The server offers a small set of gamemodes, these include:

  • Free For All
  • Experimental
  • Teams
  • Rainbow

All the gamemodes are standard, aside from rainbow.

Protocols

This server implementation supports the majority of the early Agar protocols. This includes protocols ranging from v4 to around v11. This means that clients running protocols outside of that range may malfunction or not work at all. It is suggested that you use a client such as Cigar, or its Cigar2 variant - both of these use protocol v6 and are compatible with the server.

TLS

In order to use protocols such as HTTPS with a webocket connection you need to enable TLS. This is documented in keys/README.md.