This site works best with JavaScript enabled. Please enable JavaScript to get the best experience from this site.
What steps will reproduce the problem?1. When a plugin uses the console to /kick a player.
What is the expected output?A player disconnect
What do you see instead?Message: "Player has been kicked by Server. Reason: xxxx"The server crashes/freezes after this message. The server will need to be killed and restarted in order to accept players again
What version of the Ultrabans are you using?3.1.0
What version of the Craftbukkit are u using?"This server is running CraftBukkit version git-Bukkit-1.7.2-R0.2-b2974jnks (MC: 1.7.2) (Implementing API version 1.7.2-R0.2)"
Do you have an error log of what happened?There is no log, just the message as said above.
Please provide any additional information below.Both our custom plugin and NoCheatPlus are made to use Ultrabans to kick players, so the kicks get logged. If i log on to the console (McMyAdmin (both web panel as the console window)) and kick a player, expected behaviour is shown.
If any more information is needed, please feel free to ask. I have reported this as a Bukkit bug, but was told that this was a plugin error.https://bukkit.atlassian.net/browse/BUKKIT-5229
Thank you for your time.
Last ultrabans version is not compatible with craftbukkit for versions from ~ 1.6 ~ 1.7. It's not bukkit problem, however, also according to plugin is not updated. Ticket is declined due incompatibility. But i want to have JVM dump of your server after this bug occurs. You can google through it, there are few ways for getting JVM dump, depends on your OS. Post it on pastebin(unlisted or private) and provide link here or in my PM.
http://pastebin.com/g09ZTKbE
I sincerely hope this is what you mean, as another dump is over 7 gigabytes big. I do not know much about Java, hence why i am not sure about what you mean. This is a thread dump from VisualVM, ran on Windows Server R2 x64, with the Java version described in the top of the paste. I can give further information if this is required.
Thanks for your help.
@APlant641: Go
I can't say exactly what produces such problem (due there's n support for 1.7 currently). Sure it can be ultrabans due outdated code. Try to reproduce this problem without running your custom plugin/NCP/HawEye :)
@Zeluboba: Go
I'll have a look, i'll also see if i can reproduce it via Jsonapi, which according to my current theory shouldn't work either, i'll let you know :)
Alright, our custom plugin has been deactivated on everything that uses Ultraban kicks (it is vital for our server to run), NCP has been kicked out because it was bugging me to bits anyway, and Hawkeye shouldn't be doing anything kick related anyway. I have not been able to reproduce the problem, mainly because i don't know how, as the swear filter kick, and Nocheat kicks have been the only kicks that i have seen the server crashing on.
EDIT: Now i think of it, it happens with /kickall aswell, when it kicks everybody off with a message (programmed in) Although i have not seen this happen with the plugins removed, i'll see what happens at the daily restart.
Yes it does happen with the daily restart, this is the final part of my logs:
2013-12-26 04:00:00 [INFO] Server is restarting. World is being saved. 2013-12-26 04:00:00 [INFO] CONSOLE: Enabled level saving.. 2013-12-26 04:00:00 [INFO] CONSOLE: Forcing save.. 2013-12-26 04:00:06 [INFO] CONSOLE: Save complete. 2013-12-26 04:00:06 [INFO] CONSOLE: Stopping the server.. 2013-12-26 04:00:06 [INFO] xx1 lost connection: Server is restarting 2013-12-26 04:00:06 [INFO] xx1 left the game. 2013-12-26 04:00:06 [INFO] xx2 lost connection: Server is restarting
Where xx1 and xx2 are two separate players. Sadly, as it was rather early in the morning, i have not been able to get a thread dump from that.
Something else of possibly important priority: Another developer in my staff team has made a plugin that replaces the kicking part of our custom plugin. And oddly enough this works without crashing the server. If you want, i can ask the developer permission to paste the part of the code to you to show you differences.
Yep, fill free to show old and new code.
The nonworking plugin: p = player
runAsConsole("kick " + p.getName() + " Watch your language"); public void runAsConsole(String command) { Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), command.toString()); }
And now comes the working one:
getServer().dispatchCommand(getServer().getConsoleSender(), "kick " + playerString + " Watch your language");
Might it be that the top plugin links to a function, or whatever they are called in Java (im more of a PHP guy). I am currently not able to edit the top one, as it is a massive plugin, (and honestly a bit badly written). If i happen to edit that, i'll let you know the results.
The new/working plugin does have problems with temp ban now. (a 3 day autoban 6th swear). Same symptoms.
There's no difference between Bukkit. and getServer().getConsoleSender() call, except first one is static. So what is command variable and playerString? Both.
To post a comment, please login or register a new account.