Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a rest server instead of creating multiple database connections in our plugins #1

Closed
axyiee opened this issue Dec 17, 2021 · 1 comment
Assignees
Labels
✨ feature request New feature or request 🤷 good first issue Good for newcomers 🏷️ in progress Issue or pull request that is already being worked on ❗ priority: high

Comments

@axyiee
Copy link
Member

axyiee commented Dec 17, 2021

Short description

A common issue between Minecraft developers on large scale projects, is that most of them create multiple database connections instead of reutilizing existing ones through a rest server or something similar. This may affect the overall performance and increase resources usage/demand unnecessarily.

The proposed solution

Create a rest server using the following technologies:

  • Ktor: responsible for the rest server itself;
  • Exposed: responsible for the database

The problems in this solution and how to solve them

If the Rest API address and its endpoints were discovered (which wouldn't be too difficult since the project itself is open-source), someone can API abuse to overload the network and affect user data. The proposed solution for this problem is automatically generate a JWT key required for all requests, and regenerate it every 15 minutes to avoid leakage.

@axyiee axyiee added ✨ feature request New feature or request ❗ priority: low 🏷️ in progress Issue or pull request that is already being worked on 🤷 good first issue Good for newcomers ❗ priority: high and removed ❗ priority: low labels Dec 17, 2021
@axyiee axyiee self-assigned this Apr 25, 2022
@axyiee
Copy link
Member Author

axyiee commented May 9, 2022

Moved to #28

@axyiee axyiee closed this as completed May 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feature request New feature or request 🤷 good first issue Good for newcomers 🏷️ in progress Issue or pull request that is already being worked on ❗ priority: high
Projects
None yet
Development

No branches or pull requests

1 participant