Skip to content

appsinacup/gamend_starter

Repository files navigation

gamend banner


Open source game server with authentication, users, lobbies, server scripting and an admin portal.

Game + Backend = Gamend


Discord | Elixir Docs | API Docs | Guides | Deployment Tutorial | Scaling Article

Run locally

  1. Configure .env file (copy .env.example to .env).
  2. Run the following:
docker compose up

You should now see on localhost:4000:

example

Multi-node local deployment

For multi-node deployment, you need Postgres, Redis, a scalable app service (Elixir nodes), and an nginx proxy that load-balances requests to the app replicas.

  1. Configure .env file (copy .env.example to .env).

  2. Start services with 2 app replicas:

docker compose -f docker-compose.multi.yml up --scale app=2

Configure

You can configure the:

  • starter_config.json: This has settings in webpage (eg. titles), along the reference images and css it has.
  • starter_hook.ex: This has custom logic you can write to extend default behaviours.
  • .env: This contains secrets (eg. oauth/email/etc.)
  • apps/game_server_web/priv/static/assets/css/theme/theme.css: The theme.
  • apps/game_server_web/priv/static/images: The images used in website.

Module Elixir Highlight (compilation)

Run:

cd modules/plugins/starter_hook
mix deps.get
mix deps.compile

Note: This can also be done from the admin console.

Deploy

  1. Fork this repo.
  2. Go to fly.io (or another docker provider).
  3. Connect the app with the repo you forked.
  4. Launch the app and set your secrets.

About

Starter repo for gamend game server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages