Skip to content
This repository has been archived by the owner on Jan 31, 2022. It is now read-only.

Latest commit

 

History

History
40 lines (29 loc) · 1.73 KB

CONTRIBUTING.md

File metadata and controls

40 lines (29 loc) · 1.73 KB

Contributing

If you're interested in investing your time into MCAuth's development then at least RTFM. Once you have make sure your pull requests are heavily described and give it the "why" you made the pull request.

RTFM

  1. The MCAuth Client
  2. The Web Server
    1. Verifying Players
    2. Alt Account Management
  3. The Discord Bot

Internal Workings

As you dig deep into the source-code there's going to be a lot of methodology unexplained in the documentation above. Most of it will be covered below, but if something needs clarification then leave an issue.

Role Syncing

The bot has something called the Sync struct, since we can't rely on the Discord API so heavily (because rate-limits) the bot will stay in sync with every guild member's roles with what's given in the websocket. This is all stored in memory so when MCAuth goes offline all the roles are cleared.

This is done in /internal/bot/sync.go

Mojang API

For some situations we might need to figure out what a UUID is associated to what player name or vice-versa so we can use the Mojang API to resolve them.

Request Authentication

The webserver has a token attribute in the config.yml. Requests are checked up in internal/webserver/routes/authenticator.go

go nuts.