EssentialsX

EssentialsX

2M Downloads

The server stop responding because of some warps name.

Toutouchien opened this issue ยท 3 comments

commented

Type of bug

Other unexpected behaviour

/ess dump all output

https://essentialsx.net/dump.html?id=9cc89a3fc40e4ec6b71dee4a86c231b5

Error log (if applicable)

https://paste.gg/p/anonymous/e3eeda72cc514f73b95dcff779f107ee

Bug description

When running /setwarp and putting any of Windows's reserved file name as the warp name, the server stop responding.

Steps to reproduce

  1. Run "/setwarp " with any of the name mentioned below.

Expected behaviour

The plugin should send an error message to the player saying that it's not possible.

Actual behaviour

When running /setwarp and putting any of Windows's reserved file name as the warp name, the server stop responding for about 1 minute and then sends a big error. After that, I can't reconnect to the server ("Failed to verify username!") and the /stop command don't work, so you have to kill the server.

Names: con, prn, aux, nul, com1, com2, com3, com4, com5, com6, com7, com8, com9, com0, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, lpt9, lpt0

commented

#5267 will likely address this. I'm unsure whether we want to improve the error handling for this in the meantime, or if we should just wait for #5267 instead - @JRoy thoughts?

commented

I'm unsure whether we want to improve the error handling for this in the meantime

It's not very nice to have side effects like these. My opinion is that it would be good practice to protect against this.

#5267

Perhaps consider replacing troublesome characters with a unicode representation instead of plain _? I agree having them keyed by an UUID is unnecessary for this.

Instead of h#me and h@me both being h_me.yml, you'd have h_u0023_me.yml and h_u0040_me.yml, as an example.

commented

I'm unsure whether we want to improve the error handling for this in the meantime

It's not very nice to have side effects like these. My opinion is that it would be good practice to protect against this.

#5267

Perhaps consider replacing troublesome characters with a unicode representation instead of plain _? I agree having them keyed by an UUID is unnecessary for this.

Instead of h#me and h@me both being h_me.yml, you'd have h_u0023_me.yml and h_u0040_me.yml, as an example.

Just to be clear, pretty much nothing has changed in how any of this has been handled in over a decade. Changes are still being discussed, and when #5267 is implemented this issue will be fixed. There is no ETA and it will not be rushed specifically for this issue (although a stopgap fix in-between is up for debate).

While this is a problem, warp creation is typically a privileged command so most servers are not going to be impacted. Not to mention that this seems specific to Windows, which most people are not using to run Minecraft servers.