I will need a plugin that can limit the server to specific client version. For example to only allow 1.7.4 clients to join and every other version that tries to join gets kicked with custom configurable message (so it can be translated).
I have been told be xoft that this is easy to code but i'm not really good at this programming. I hope someone can do this in their free time.
Thanks!
01-27-2014, 01:05 AM (This post was last modified: 09-18-2020, 12:09 AM by NiLSPACE.)
I'll do this. Give me a minute
Here you go, My first version.: See Edit
In the Config.ini you can set what protocols are allowed. By default only 1.7 is allowed. In the config this is '4'. You can find the protocol versions when you start Cuberite.
STR, sorry, we don't have such a function. Of course you could write it if you want, but it's one more place to update when a new protocol is added, and those places tend to get forgotten.
Why does the plugin use the OnTick() function? Can't it just kick the player (or schedule the kick) directly in the OnLogin()?
01-27-2014, 02:01 AM (This post was last modified: 09-18-2020, 12:13 AM by NiLSPACE.)
Schedule.. good call.
I tried the OnLogin, OnPlayerJoined and OnPlayerSpawned hook, but when I kicked the player you woudn't get the kick message but an error so I used the OnTick hook.
Update. Now it's using a schedule task. It should be a little bit better performance wise: See first comment
Why would you want to do that - All the big servers are making custom jars for their servers to allow more clients. More clients = more players = more people eating pie!
Actually all the members of my community have either 1.7.2 or 1.7.4 clients already installed. I don't want them to connect with clients with missing features or worst crash the server with bad packets of some old client due to the networking layer of MCS (I don't know if the deadlock was fully fixed).