Sign inSign up

lugobots/level-1

By lugobots

•Updated about 2 years ago

Offical Bot of Lugo Bots

Image
0

4.1K

lugobots/level-1 repository overview

⁠Lugo Bots - Official Bot Level-1

This is the official bot to play Lugo. See this bot games at https://beta.lugobots.dev/bots/level-1⁠.

This bot is very defensive. It was created as second step to build a competitive bot. The previous step is the Level-0.

⁠Quick reference

Maintained by:  lugobots.dev⁠

Where to get help: https://discord.com/invite/JqJJECt9VV⁠

⁠What's Lugo?

Lugo Bot Match

Lugo is a lightweight and easy multi-agent AI game that anyone can play. Watch the games in our YouTube channel https://www.youtube.com/@lugobots/streams⁠

Before using the image, take a look at the game specs (https://spec.lugobots.dev/⁠).

⁠Play a game

The game is started by the command play:

docker run -p 8080:8080 -p 5000:5000 lugobots/server:latest play

For more options, run:

docker run -p 8080:8080 -p 5000:5000 lugobots/server:latest play --help

During the game, the server will expose two ports:

8080: The game frontend is a HTTP service:

 You can access that port using a browser and watch the game.

5000: The game gRPC services:

The gRPC services are defined by the proto files in this repository: https://github.com/lugobots/protos⁠, and the game behave is specified at https://spec.lugobots.dev⁠.

The most important one is the Game service. You will connect your bots to this service so they can play the game.

It's highly recommended, though, to you to use one of the quick start bots because everything will be already set up for you: https://beta.lugobots.dev/how-to-play⁠

⁠Debug mode

Activate the debug mode to enable features that will help you to debug your bot.

Using the flag --dev-mode, you will enable the Remote gPRC service (see documentation at https://github.com/lugobots/protos/blob/master/doc/docs.md#remote⁠) that allows an external agent to pause the game, change bots positions, and other useful features to help you to control the game flow.

The debug mode also add a debugging tool that helps you to use the Remote gPRC service. See more details and debugging tips on https://spec.lugobots.dev/debugging⁠.

⁠Replaying a game

You may replay a game if you have saved the game records. Save the game records using the flag --record-path

docker run -p 8080:8080 -p 5000:5000 --record-path=/path/to-my-dir/game.lugo lugobots/server:latest play

Then, you may reproduce the same game using the command replay:

docker run -p 8081:8080 -v /path/to-my-dir:/lugo  lugobots/server:latest replay /lugo/game.lugo

⁠Improving performance

The Game server will have a fairly low resource cost to run a normal match. However, if you need more performance (e.g. reinforcement learning training sessions), there are a couple of options to get a little boost:

  1. Use the flag --quiet to stop logging - Logging use more resource than you expect
  2. Use the flat --headless to disable the frontend service - you will not be able to watch the game, but the server will free some time spent on the frontend processing.
  3. Considering using the game server binary instead of the Docker image - the performance will be considerably improved if you just use the binary.

⁠Binaries

⁠v1.0.0-beta.2
⁠Windows

https://s3.amazonaws.com/binaries.lugobots.dev/Level1_v1.0.0-beta.2_Windows-amd64.exe⁠

⁠Mac

https://s3.amazonaws.com/binaries.lugobots.dev/Level1_v1.0.0-beta.2_Mac-amd64⁠

https://s3.amazonaws.com/binaries.lugobots.dev/Level1_v1.0.0-beta.2_Mac-arm64⁠

⁠Linux

AMD64 https://s3.amazonaws.com/binaries.lugobots.dev/Level1_v1.0.0-beta.2_Linux-amd64⁠

ARM64 https://s3.amazonaws.com/binaries.lugobots.dev/Level1_v1.0.0-beta.2_Linux-arm64⁠

ARM https://s3.amazonaws.com/binaries.lugobots.dev/Level1_v1.0.0-beta.2_Linux-arm⁠

Tag summary

Content type

Image

Digest

sha256:34dc4b2f1…

Size

3.3 MB

Last updated

about 2 years ago

docker pull lugobots/level-1