Omega 6ix


The Omega 6ix Bot was created to act as a more competitive ranking system for the video game Omega Strikers. The bot facilitates private matches by handling team captain selection, lobby creation, and team communication channels. It tracks player ratings, maintains leaderboards, facilitates level changes, and automates administrative tasks such as bans, reports, and support and player categorization based on ratings.

I created this app using C# with the DSharpplus library and used MongoDB as a database to store all the players, games, and any other information stored for the server.


Main Functionality

The bot automates rank checks for users, assigning them discord roles based on their in-game rank. It facilitates match queues, creating lobbies when six players join. The bot initiates a team captain process to determine teams and establishes dedicated channels for team communication within the Discord server.

For the automated rank check system, the bot scrapes this website (https://corestrike.gg) for the players rank.

Bot Commands
  • !q - adds the player to the queue for a game.
  • !leave - removes the player from the queue.
  • !status - returns the status of the queue displaying all players in the queue.
  • !spectate - provides details to the specified game to allow the player to spectate.
  • !report - reports a game either as a win or a loss for the player.
  • !rankcheck - rank checks the player into their assigned discord ranks.
  • !stats - provides the user with their current stats within the server.

Admin Automation

The bot automates admin tasks, including banning users and preventing them from queuing by a single command. It offers functionality to automatically unban users and notify them via direct message. Additionally, the bot provides commands for handling faulty rank checks, false reports, game cancellations, and resetting games and ranks for a new season.

Admin Commands
  • !update_leaderboard - manually updates the leaderboard aside from the automatic hourly update.
  • !retrieve_game - retrieves all the info about a game such as teams, players, win%, and the winning team along with time stamps. This allows admins to:
    • Cancel the match
    • Reverse the outcome
    • Add 2 hours to the report time
  • !retrieve_player - retrieves a players information including their stats, in game name, and when they registered. This allows admins to unregister players from the server.
  • !ban - bans a player for a specified number of days.
  • !unban - manually unbans a player before their time is complete.
  • !get_record - retrieves a players ban record.
  • !wipe_games - removes all games in the database.
  • !reset_mmr - resets all players ratings to default values.

Summary

I developed this bot to foster a competitive community for an upcoming game, offering an alternative to the built-in ranking system. The bot underwent beta testing, incorporating real player feedback and bug reports for immediate resolution. A partnership with the game itself was secured, resulting in in-game currency and loot for promotional giveaways during the inaugural season. This project enriched my consumer experience, involving listening to feedback, addressing consumer desires, and exploring alternative solutions through direct communication..

If you are interested in seeing the bot in action, here is an invite link to the discord server:

Update: The game has since parished. The server is still up for demo purposes.