Minecrell / ServerListPlus

A flexible Minecraft plugin to customize the appearance of your server in the server list
https://git.io/slp
GNU General Public License v3.0
240 stars 58 forks source link

Support for Authentication in Standalone Server #299

Closed AwesomestCode closed 3 years ago

AwesomestCode commented 4 years ago

Would it be possible to authenticate users before they get displayed with the message for the standalone server? I plan on forking ServerListPlus for a lightweight verification system, in which each user logs on to the server to get a verification code. ServerListPlus standalone seems to be a great base for that lightweight server, however, for obvious reasons that would require cracked user checking.

Also, do you have a Discord server or something I can use to communicate through?

AwesomestCode commented 4 years ago

After reading several more issues, I realize that you a) do not check Discord frequently and b) have lost interest in Minecraft. I've looked at wiki.vg's authentication protocol page and I would like to try to implement it in SLP. However, I'm not really familiar with how SLP works, so could you please point me in the right direction to do this?

stephan-gh commented 4 years ago

There are probably lots of existing server implementations around, which already have authentication implemented. For SLP this obviously doesn't make a lot of sense (since it doesn't need authentication). It might be easier to take something else as a base.

Otherwise you would basically need to modify code in https://github.com/Minecrell/ServerListPlus/tree/master/Server/src/main/java/net/minecrell/serverlistplus/server/network, add some additional packet handlers for the authentication stuff, talk to Mojang servers etc.

AwesomestCode commented 4 years ago

The reason I was using SLP is because of its lightweight ness. Anything that actually bothers to handle worlds is way too heavy for my usage, making SLP the perfect candidate for this. However, if this is impossible then I may use BungeeCord instead. Thank you.

stephan-gh commented 4 years ago

Not impossible, it depends if you want to write the code for authentication yourself :P

AwesomestCode commented 4 years ago

I’ll probably first write the code in a BungeeCord plugin for time’s sake; I grossly underestimated the time this release would take to write. After I get the version with BungeeCord working I’ll try implementing it in the more lightweight SLP (I mean, either way I’ll have to write a decent amount of code).