Pages: 1 2 3 4 5 6 7 8 9 10 11
I finaly started working on the rewrite. I uploaded my current code here:
https://github.com/NiLSPACE/Login/tree/Rewrite
Nothing works yet. Pretty much all I have is a database class. I simply uploaded it so people can follow the development.
I suggest using the db to store player coordinates when they logout/disconnect (teleporting player to spawn afterwards), and tp them where they were after logging in - that way, the chances that client gets the coordinates someones at without logging in (before they are teleported) become zero. I didn't really see anyone use this trick to get hidden base coords, but it doesn't mean it's impossible.
Also, hiding player inventory on login could be a nice feature (but, that'd require a way to store it in the db).
No need to store those things in a database. Simply a table is enough. I was already planning to add all those features

I'm getting closer to finishing things. All I want to do now is:
- Add a /changepass command
- Add a /removeacc command
- Save & clear the players inventory and return it when the player logs in or logs out (from the server)
- More ???
Unless by table you mean a table in storage, tables go away when you reload / restart the server.
We don't want someones position/inventory to disappear with server restarts.
As a side note, having plugin-registerable hooks that fire when someone registers / logs in / logs out could be nice.
(I can code that when rewrite starts working reasonably)
Or.. we simply return the position/inventory when the server reloads

That's what I'm doing now

You can't really return inventory / position to someone who logged out.
So, i guess You are doing it by removing inventory when someone logs in (the bad way

) instead of doing it when someone logs out, and restoring it after they log in.
Also, i found something interesting while trying to find if anyone abused that before:
http://wiki.vg/How_to_Write_a_Client
At the very end, there's a list of client-side hacks with descriptions how they are implemented (That could be very useful for anti-cheat

).
I'm having trouble implementing /removeacc.
I need to get the UUID that a belongs to the given username. I tried cMojangAPI:GetUUIDFromPlayerName, but the result I get from there isn't found in the database. I tried some things, and found out that GetUUIDFromPlayerName always returns the online UUID. Shouldn't it return an offline uuid when the server is in offline mode?
Is there a way to convert a username to either an offline UUID or an online UUID depending on the settings of the server?
I don't think we should bother with UUID's at all. This plugin is meant for offline servers.
Maybe add a switch in the config file that'd allow switching between the online UUID's / usernames as identifiers.
Pages: 1 2 3 4 5 6 7 8 9 10 11