CreeperHost / MineTogether

A Minecraft mod that enhances community and server features, such as global chat, chunk pre-generation, auto server join from protocol uri (via FTBApp), friends lists, private chats and many more features linked to the MineTogether platform.
https://minetogether.io
GNU General Public License v3.0
23 stars 16 forks source link

[Bug]: Creeperhost servers not removing server entries after 3 minutes #780

Open klugemonkey opened 2 months ago

klugemonkey commented 2 months ago

Describe the bug

api.creeper.host is not removing server entries after 3 minutes

Steps to reproduce

Server information including IP address is being retained past 3 minutes without an update request being sent.

Installed an FTB NeoTech 1.6.0 server on a non-CreeperHost server and configured the server.properties to allow the server to broadcast that it was public. It showed up correctly in the MineTogether Public List. Updated the server to FTB NeoTech 1.7.0, and configure the server.properties to allow the server to broadcast that it was public. No change to the IP Address, or Port. Server did not show up on the Public list for the new project. Server was still showing up on the old project list with old displayname. Shutdown server for 12 hours, no update entries were sent, with expectation that server would be removed from list, entry(s) still exists.

Expected behaviour

Per the documentation, it says that the server information should be removed after 3 minutes and that it doesn't store IP address information. Either the documentation is out of date and doesn't reflect the current reality or there is a bug, or both.

"No identifiable information is sent or stored on the CreeperHost servers - we use a hashed version of the UUID, and we do not store your IP address. All information is removed from our servers after 3 minutes without an update request being sent (currently the update request is sent every 90 seconds to let us know your server is still alive)."

One would expect that after a server has been offline for 3 minutes without an update from the mod, that the server data queried at https://api.creeper.host/serverlist/list would not contain the entries for the servers entries from that IP address.

Something is obviously not being checked correctly, perhaps since this is an FTB server where the project id is a base64 hash of the FTB parent and version rather than a Curseforge id.

It's also showing that the uptime is increasing as well even though the servers are not online or unlisted.

Screenshots

No response

Version

minetogether-neoforge-1.20.4-6.3.1

Minecraft Version

1.20.4

ModLoader Version

neoforge-20.4.237

Additional Information

No response

ThePaul-T commented 2 months ago

Thanks for the report, I will look into this tomorrow. The API endpoint for this specific task (server list management) is actually on my list to be replaced soon with new code.

klugemonkey commented 2 months ago

Seems like they just dropped off now, after I setup the older server, then made public, then made disabled. But not sure why this is even necessary. Or did you remove the server listings on the back end from my servers (and testing)?

ThePaul-T commented 2 months ago

I cleared the list after fixing a bug with the table schema introduced when we migrated the database into our Kubernetes cluster.

klugemonkey commented 2 months ago

Something doesn't seem right with the upgrading scenario when going from one version to another, possibly for FTB servers that use the base64 stuff.

klugemonkey commented 2 months ago

Not sure if this is just FTB servers, or non Creeperhost servers, or just my configuration at this point.

klugemonkey commented 2 months ago

Will fire up the new version to see if it publishes properly for the version.

klugemonkey commented 2 months ago

Hopefully this is not a case where you have to disable the listing first, then wait for it to drop off the list, before upgrading the server instance, because that would make it longer to update servers to latest version when there is a patch or update.