/EggIncServerReimpl

An Egg, Inc. server reimplementation.

Primary LanguagePython

EggIncServerReimpl

An Egg, Inc. server re-implementation.

Warning

This is a fan project and is not intended to be used for cheating or hacking on official Egg, Inc. servers in any way. It is intended to be used for educational purposes and for fun.

Implementation Status

For fine details, see the PROGRESS.md file.

  • Basic login

    • Session handling
    • Actual account creation
    • Backup saving & loading
  • Configs

    • Regular (see utils.make_liveconfig())
    • Artifacts
  • Periodicals

    • Events
    • Missions
    • Contracts
    • Daily rewards
  • Contracts

    • Making coops
    • Joining coops
    • Rewards
    • Gifting

Usage

Warning

To prevent abuse, the hashing algorithm has been .gitignore'd from this repository. To see what you have to make to get this project to run, see the README.md in utils/README.md.

Running the server

  1. Clone the repository
  2. Install any required dependencies with deno i
  3. Make a .env with a MONGO_URI, which is the URI to your MongoDB database.
  4. Run the server with deno run dev
  5. The server will be running on localhost:5000

Note

The server will start without a MongoDB database, but a lot of endpoints will be disabled.

Tip

You can use docker compose up -d to start a MongoDB database. It will run on port 27017, and will store files in the .db folder.

Connecting to the server

You can make the game use this server by either:

  • Modifying the game's code to use the server
    • This is quite advanced and I personally recommend you do not do this as then you disallow yourself from easily switching between the official server and this one.
  • Using mitmproxy and the mitmproxy script located in proxy/mitmproxy.py
    • You will need to do extra setup to get this to work on Android. Not sure about iOS.
    • Android users may need to install mitmproxy's CA certificate as a system CA cert (which requires root).