Halite Tournaments is a project created by @FrankWhoee and @Splinter0 to allow fans of the @twosigma's AI challenge Halite-II to participate in exciting tournaments!
This is the code that we run on our server to interact with our discord community, which is where we organize and run all our tournaments.
Join our discord server : https://discord.gg/Q2nDHnn
- python3
- python3-pip
- mongodb-org
- python3-discord (install through pip3)
- python3-pymongo (install through pip3)
- (all dependencies to compile the bots submissions)
Run install.sh
to automatically install the dependencies.
ht.sh
- Bash file to start the environmentinstall.sh
- Bash file to install dependenciesimgs/
- Folder where we store imagesseason-3/
- Folder with all season-3 related stuffbots/
- Folder where bot submissions are stored inenv/
- Folder with the game environmentmongo/
- Folder to store databasedb/
- Containing templates for db setup
Since we are compiling and executing untrusted code we setted up security measures to protect our server. Some of them are mandatory to setup, so if you wanna run this code on your own server you will have to follow them, others are optional.
As database to store the data about our players, settings and matches
we use MongoDB. The user are setted up to be one root
which has
complete access to the halite-tournaments
database, and the other
one called arena
, which is the user that only has access to matches
and players. You should check the folder db/
for more info about
the roles and the users.
The discord bot is run by a user which has to provide his password to
become sudo ( very recommended ). The other user is the user arena
which is the one that compiles the code for the bots and runs the
matches.
The user arena
does not have internet access, to limit
all the possible damage that could be done if malicious code
is contained in the code for the bots. arena
also has restricted
access to the project folder ( it is recommended ), you can set the
permissions up as you wish.
The user running the discord bot is allowed internet access of course
and is in charge of installing dependencies for the bots as well.
He has access to all project folders.
- A webapp to interact with the game environment
- Fairly big cash prizes
- Include Halite-I tournaments for the vintage fans 😆
- Add more languages support
- Add support with HT-Backup
- Add precompiled engine to
!engine
command - Add suggestions from season-2:
- Logs for make failures on submission - A command to check who submitted - Submissions available from DM - Battle dimensions default - Starter bot people can fight against - A player should be able to battle against itself - Include damage, ships created in log for battles - Sending log files for matches
- Add more emojis on the messages 😉
Please help us improve this code! We would love to hear your opinion!
Join our discord server and help our community grow !
Donate to help us increase the cash prizes, get a more powerful instance, and support new features!