Skip to content

eatmyvenom/HyArcade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

HyArcade

Unified system for displaying Hypixel arcade stats

Whats this

  • This is a project containing for all HyArcade projects and underlying systems.
  • The systems here include:
  • All data is gathered from the Hypixel API

About

HyArcade is a easy to use powerful system for displaying all kinds of stats related to arcade games.

The website recieves about 25+ unique visits per day.

The discord bot is verified and is in 100+ servers and growing.

The API is once of the fastest hypixel API middleware systems available.

The whole system is recieving continuous updates and bug fixes.


Features

There are very many features availiable here, these are listed by system scope.

hyarcade.xyz

  • Leaderboards
    • Daily / Weekly / Monthly / Lifetime
    • All Arcade games
  • Full stats page with all relavent stats from each game
  • Guild stats page Coming Soon!

Arcade Bot

  • Most used Commands
    • Good looking stats command with interesting stats from each arcade game.
    • Status command
      • Shows recent actions if API is hidden
      • Dynamic background based on the current game
    • Leaderboards
      • Daily / Weekly / Monthly / Lifetime
      • All stats that are in the database
    • Achievements command which shows a progress bar for each game and each tiered achievement.
    • A top games command will a list of wins in every arcade game
  • Role Updates
    • Updates roles based on any stat (contact vnmm#0001 for more info)
  • Daily Leaderboard Updates
    • Can be configured for any server and sends screenshots* of every leaderboard in one server

HyArcade API

  • Leaderboards for every stat availiable without any key required**
  • Stats for any player
  • Guild stats
  • List of discord IDs to minecraft UUIDs

Tech Stack

  • NodeJS - I started writing this in JS and didn't stop
  • Yarn - Used over npm for workspaces.
  • Eslint - All in one code linter for javascript.
  • Prettier - Eslint compatable formatter for javascript.
  • MongoDB - Best node compatable database system.
  • DiscordJS - Module that allows you to easily interact with the Discord API.
  • Redoc - Easy to use OpenAPI frontend.
  • Node-Canvas - A near identical copy to html5 canvas for nodejs.
  • Hypixel Api - 😐.

How to Run

NodeJS 16+ is needed

Step 1 - Get the code

git clone https://github.com/eatmyvenom/hyarcade
cd hyarcade

Step 2 - Install dependencies ***

yarn install

Step 3 - Configure

In the types/config/ directory there is a schema for each config file i have in the config/ directory.

If you do not want to use this then make sure to set the following environment variables.

# Get this from "/api new" on the hypixel server
HYARCADE_HYPIXEL_KEY

# A password for the sensitive parts of the api
HYARCADE_KEY

# A token to run the discord bot
HYARCADE_DISCORD_TOKEN

# A channel snowflake for logging
HYARCADE_LOG_CHANNEL

# A webhook url
HYARCADE_WEBHOOKV2

# A JSON representation of a webhook
HYARCADE_WEBHOOK

Step 4 - Run the API

This step depends on a mongo server running on the same system

yarn api

Step 5 - Run the Bot

yarn bot

Step 6 - Host website

The website is all really the only not self contained part of this.

To run the website u need to have some other web service hosting a directory on your system. After that all the pages need to be symlinked into that directory. Then all the game pages need to be symlinked by abbreviated name.


* Screenshots here are really images generated by the bot to look like in game screenshots.
** A key is required after a certain amount of uses per minute on a given ip address.
*** This assumes you have nodejs, yarn and all of the libcario dependiences already installed