Thulinma / MixedModeAuth

Bukkit Plugin for offline-mode servers
17 stars 5 forks source link

Whether an update to 1.4.7? #24

Open rgb2hsl opened 11 years ago

rgb2hsl commented 11 years ago

I try to use your concept to make mixedmode auth for 1.4.6 server, but it seems like server or client makes some more checks, don't just to checkserver.jsp, or i don't understand, how works the whole system.

i use your file checkserver.php woth apache, if i try to make request to session.minecraft.net from my server, it will return "YES" - all clear

and i take your

     public void onPlayerPreLogin(PlayerPreLoginEvent event){
            //if this person would have been allowed, but is not because of failing the verify, let them in
            if (event.getResult() != PlayerPreLoginEvent.Result.ALLOWED){
                event.allow();
            }else{

            }
          }

Event, put it in my plugin.

Is there all need to work correctly? I still take a "user not premium" error (

rgb2hsl commented 11 years ago

In fact, I would not want to use a modification of CraftBukkit, and use LegacyMode, but i don't shure if there is a strict necessity of prelogin event override :-(

i try to use your plugin as is if i don't get any success, but my goal is to build system, which can use mysql tables, like AuthMe. If your plugin in legacy will work, i think, i just fork and code it, but it will be great, if you had told me the whole mechanism of Legacy Mode :-)

Now i try to redirect queries from my server to my local webserver, so session.minecraft.net always answer YES and coded one event, just like above

Thulinma commented 11 years ago

In legacy mode, no edits to either the server or client are needed - so yes, the plugin could work without the prelogin event override.

In legacy mode, the following happens:

You could allow registrations on the fake server for non-MC names, thus completely removing the need to do any in-server checks, but this requires players to either have a real account OR sign up for a fake account on your website before hand.

Of course, in all cases, both server and client need to edit their hosts file to be able to play. The client and server mods I made make this unneccesary, thus are definitely recommended.

I haven't kept up with the latest MC updates, so I'm not sure if they changed the login procedure since. If they have, it'll probably be just a small change to the code to make it work again.

Good luck!

rgb2hsl commented 11 years ago

So, Is there a need for client to change hosts too? Oo I think only server needs it (MC login server means a CraftBukkit server with rerouted checkserver?)

If yes, so it is easy to support server mod, instead of making client changes they hosts.

btw, are you awailable on skype? i have just addied you (my skype login is wolfsidre)

Thulinma commented 11 years ago

Yes, the client needs changes too, otherwise the login cannot be made securely.

The client will always either need a mod or an edited hosts file, or it will simply not work in a way that cannot be easily circumvented. Well... I guess you could allow logins on a website, store their IP address, and then not modify the client at all - which means only one user per IP address would be able to login at the same time. Also, this method would mean users with a valid MC account cannot just login with their existing MC account but would need to create an account on your server (which is not needed the way my plugin is meant to work).

I accepted your skype request a while ago. Feel free to leave a message there, or here. Whichever you prefer. I might not always answer quickly, though :-)

rgb2hsl commented 11 years ago

In your case it seems what only bukkit server needs to change hosts, because it is runs checkserver.jsp check. Does client do some checks or it just "stores" the request to connection on MC login server? I was sure it so

Thulinma commented 11 years ago

Both the client and the server do checks, if either of the two fails, the client aborts instantly.