OgarProject / Ogar

An open source Agar.io server implementation, written with Node.js.
Other
715 stars 825 forks source link

Ogar

A fully functional open source Agar.io server implementation, written in Node.js. Ogar is designed to be used with the latest Agar.io client.

Official Website

The official website for the Ogar Project is ogarproject.com. You can register on our forums to chat with other Ogar users, get support, advertise your server, and more.

Purchased Ogar?

If you've purchased a copy of Ogar, you've probably been ripped off. This post on our website explains why.

Obtaining and Using

If you are on Windows, you can download the latest binary build of Ogar from this page. The binary is the easiest way to get started running an Ogar server. If you'd like to tinker with the source code, you can follow the instructions below (and slightly modify them) to run the source on Windows.

As Ogar is written in Node.js, you must have Node.js, its "ws" and "vector2-node" modules installed to use it (unless you are using the Windows binary). You can usually download Node using your distribution's package manager (for *nix-like systems), or from the Node website. To install the "ws" module that is required, you can:

Manual:

~$ git clone git://github.com/OgarProject/Ogar.git Ogar
~$ cd Ogar
~$ npm install
~$ node Ogar

Using the install script:

~$ sudo ogar-linux-script.sh install /your/preferred/directory
~$ sudo -u ogar -H /bin/sh -c "cd; /bin/node src/index.js"

Using sudo -u ogar -H /bin/sh -c "cd; /bin/node src/index.js" to launch the server increases security by running the process as an unprivileged, dedicated user with a limited shell and it is recommended to do so.

Currently, Ogar listens on the following addresses and ports:

Please note that on some systems, you may have to run the process as root or otherwise elevate your privileges to allow the process to listen on the needed ports. If you are getting an EADDRINUSE error, it means that the port required to run Ogar is being used. Usually, Skype is the culprit. To solve this, either close out skype, or change the serverPort value in gameserver.ini to a different port. You will have to change your connection ip to "127.0.0.1:PORT"

Once the game server is running, you can connect (locally) by typing agar.io/?ip=127.0.0.1:443 into your browser's address bar.

Configuring Ogar

Use "gameserver.ini" to modify Ogar's configurations field. Player bots are currently basic and for testing purposes. To use them, change "serverBots" to a value higher than zero in the configuration file. To add/remove bot names, edit the file named "botnames.txt" which is in the same folder as "gameserver.ini". Names should be separated by using the enter key.

Custom Game modes

Ogar has support for custom game modes. To switch between game modes, change the value of "serverGamemode" in the configurations file to the selected game mode id and restart the server. The current supported game modes are:

Id Name
0 Free For All
1 Teams
2 Experimental (As of 6/13/15)
10 Tournament
11 Hunger Games
12 Zombie Mode
13 Team Z
14 Team X
20 Rainbow FFA - Hint: Use with "setAcid(true)"

Console Commands

The current available console commands are listed here. Command names are not case sensitive, but player names are.

Contributing

Please see CONTRIBUTING.md for contribution guidelines.

License

Please see LICENSE.md.