xenos

command module
v0.0.0-...-4c21354 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2022 License: MIT Imports: 0 Imported by: 0

README

The official Logo of Xenos

A visual badge for the latest release A visual badge for the version A visual badge for the code quality A visual badge for the coverage A visual badge for the license

Xenos is a Minecraft profile data proxy that can be used as an ultra-fast replacement for the official Mojang API on Kubernetes.

The name "Xenos" is derived from the Greek word xénos which means something like "stranger" or "guest friend" (source). That alludes to the process of profile resolution by which strangers become known players.

Motivation

Mojang already offers an API to query the profile data of Minecraft accounts, but it is strictly rate limited. And while the performance is overall okay, it's by no means optimal and can therefore only be used as a fallback. Xenos aims for performance and reliability and can be used as the primary source of truth for profile information.

It is built with scaling and high availability in mind and can be set up fairly easy. Compared to existing solutions like MineTools, Xenos introduces little to no additional latency and primarily uses gRPC to communicate with the services. It is meant to completely replace any kind of internal caching and always use the API instead for inter process communication.

Major Features

  • Perform gRPC or HTTP REST lookups for profile information.
  • Do not worry about rate limits or caching at all! [^1]
  • Get best-in-class caching inbuilt and always request Xenos with very low latency.
  • Set Xenos up with replication, to get high availability.
  • Store resolved information to allow for grace periods for the resolution between name changes!

Getting started

Once this project is ready, information about how to run Xenos will be published here. Stay tuned!

Reporting Security Issues

To report a security issue for this project, please note our Security Policy.

Code of Conduct

Participation in this project comes under the Contributor Covenant Code of Conduct.

How to contribute

Thanks for considering contributing to this project! In order to submit a Pull Request, please read our contributing guide. This project is in active development, and we're always happy to receive new contributions!

License

This project is developed and distributed under the MIT License. See this explanation for a rundown on what that means.

[^1]: Provided you're attaching enough different IP addresses to Xenos to sustain lookup bursts. Xenos will distribute its requests with Round-Robin until it runs out of tickets. The API is currently limited to 600 requests per 10 minutes.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
scrayosnet/xenos
Package xenos is a reverse proxy.
Package xenos is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL