Skip to content

v1.7.5 — fixes the permanent black screen, and stops banning impatient players

Latest

Choose a tag to compare

@CaYatur CaYatur released this 25 Aug 23:17

Four things, all reported from a live server.

The black screen after a premium login

The plugin applied blindness with a duration of Integer.MAX_VALUE — effectively forever — and cleared it only when the firewall said to release. Asking to lock your name kicks you, and a player kicked while held is never released, so the effect went into their saved player data and came back with them. Every time.

Registering with a password cleared it, which is why only the premium route looked broken.

The effect is now short-lived and renewed by the plugin's own task for as long as somebody is actually held, so it follows that exactly and is gone within twenty seconds of them leaving it — whatever happens to the connection. It is cleared on quit too.

And because existing players are already carrying the broken one: a blindness longer than an hour, which nothing can produce any more and no potion in the game grants, is cleared when they join. Update the plugin from the Protection page and your stuck accounts fix themselves on next join.

A temporary effect must not be able to become a permanent one.

Getting banned for reconnecting too fast

The login limit is five in thirty seconds, the sixth earned a strike, and five strikes is a six-hour machine-wide ban — so somebody impatiently mashing reconnect banned themselves in about a minute, having done nothing but try to join.

Refusing the connection is the whole response to going too fast. It no longer counts towards anything.

What still escalates is the thing a player cannot do however fast they click: arriving under a series of different names. That is a list being worked through. The names tried while being refused are now remembered, too — before, every one was thrown away with the connection that carried it, so an address burning through names while rate-limited looked like an address using one.

Volume alone is still handled, separately, by admission control.

Messages that stayed white

Your configuration file wins over the built-in defaults — which is right, it is your file — but it means improved wording never reaches an existing install. The newly coloured login messages arrived for new installations and for nobody else.

Settings → "Update messages to the latest defaults" brings them up to date. It only touches a message whose text is one this project itself shipped, which is proof no person chose it. Anything you wrote — a translation, your own wording — is left exactly as you wrote it, and the reply tells you how many were kept.

The list of what was shipped is generated from the release tags rather than kept by hand, because a hand-kept list rots and fails in the worst direction: quietly replacing somebody's own words.

Premium accounts had no join date

The Players page showed a dash where a date belonged, because only the password path recorded one. That reads as missing data rather than as a different kind of account.


676 tests.