Discussion in 'Bukkit Tools' started by dumptruckman, May 18, 2011.
Best server wrapper I have used to date. Thanks for all the hard work.
Thanks, it's running fine now
Since he won't say it anywhere in the OP, it would appear he doesn't want to give me public credit for it, I DEVELOPED the web pages for this gui.
Actually, that was just my bad, it slipped my mind.
Watched and downloaded the new updates with in minutes of each other, great work patching so fast.
Hehe, couldn't let a bug like that go unfixed. Luckily I noticed it quickly and just HAPPENED to have left in some debugging text that was exactly specific to the issue.
why i only see this mod now O.O verry nice... at least on of the most table things i have ever seen in combination with bukkit :-P
only issue: if i edit backup tab it freezes (reproduce at checking plugin folder)
i dont know how its made exactly but it feels like it trys to load the whole content after hitting the checkbox. shouldnt it only after pressing save button?
Well, I thought I had fixed this already... I think what must be happening is that the checkbox propagation is just taking a really long time due to the immense number of files... That is to say, when you check the plugin folders, it then goes an checks every single thing underneath it. I'll see if I can put some kind of fix in the next release.
edit: and it SHOULD unfreeze after a while..
I've got a little funny message, xD
If i stop the Server i get this:
It's just a funny message, xD
It doesn't affect anything at all. If i start the server then, it runs all fine
Just wanted to tell you this
Yep, quite aware, this is coming from some borrowed code.. I've only seen it appear when the server stops but I'm not certain it is not important in other cases. That's why I added the little bit of text at the end that says "Server likely stopped." I'll check with the person who made the code and see if I can just remove the message.
I came up with a way to deal with the freezing while selecting large directories... It at least doesn't freeze up the GUI but it seems like the only way I can pull it off is if I also DISABLE the check box tree WHILE it's trying to select all the boxes.
EDIT by Moderator: merged posts, please use the edit button instead of double posting.
I encounterd this solved the same the way - but agreed it appears to be functioning fine for me now. backup tab is a tad slower ever since the update after he made it speedy but its not terrible anymore now you only have to click it once let it load and its less than 20s to wait after that.
ahaha yea I think you both reffer to the fact when u stop server a task trys to send to the server and u get that funny msg telling u it can't due to fact its not running.
Yeah, actually, I have a fix for this in the next version... But I'm trying to making it a better fix than what I came up with. The issue with the lag is due to the fact that when you check a folder, it has to check ALL the items within that folder, so if there are thousands of files (like in the case of plugins directory some times) it can take a while. And to make that worse, it's trying to do that on the same thread as the GUI itself, thus, you get freezing.
Maybe you should get it running multithreaded ?, like instead of doing all of this on in java with a single thread.
90% time ends up on core 0 it may be better to run the gui in a sperate thread on core1 and have the console running as usual.
But even I can see the implications involved in doing that and it would not be easy to make it reliably multicore.
even better idea would be to just run the backups in a spererate thread entierly from the rest of the shabang but that is probably how you fixed most of the lag with it anyway .
got a bigger problem atm :-P my bukkit freezes at all after a while. but this has nothing to do with the gui.
but i saw if the server freezes up, also the gui freezes... i dont know why this happens. i think its one of the plugins.
its just sad that there seems no possible way to detect javaerrors or freezes to write a batch to restart or kill the whole processes, neither the gui. i dont know much about java developing and if there are ways to detect this, but if yes the gui just could kill itself and restart everything.
this is what i did on my classic server. server crash -> mczall fork closes -> batch sees its closed -> batch restarts
Well, that's exactly what I did.. I had to make my own version of the checkbox tree so that it could do all the checking in a separate thread... But to make sure this doesn't cause any issues (because multi-threaded stuff like this is risky) I had to have it disable the file chooser while it's checking all the boxes... When there's a ton of files to check in a sub directory, this can take a while.. So I was actually working on trying to make it work slightly differently... I'm not having a lot of success though. >.< And yeah, backups run on a separate thread already. That's why they don't freeze anything when they're running.
Hmm... The GUI really shouldn't be freezing due to the server itself freezing... I guess this could be possible due to certain plugins... What version of the GUI are you using? Can you post your guiconfig.json file on www.pastebin.com? And can you list the plugins you are running?
edit: I'm going to be adding something that will detect server crashes and restart the server automatically, in the future.
Ah yea I had my suspicions, on a side not I have noticed that ever since 9.5 the tasks display as snychronized times even when they cleary are not running at the exact same time. This happend to me after I had them Paused for about 20mins.
Ahh... Interesting. I will look into that.
It fixed it self very odd, I stopped server and it was fixed, Oh I also noticed that pressing the Pause button for tasks is not actually stoping to timers from counting down .
Yes in case you going to tell me and you probably are I did notice with my 1/2 hour save worlds that it was setup wrong I needed to tick "ALL Hours" as well and now it is showing 30mins
i dont have much time last days because work exams and so on... so i dont post the list and my config is not realy changed at all (because ur gc function already does what i did with the modified batch :-P)
but i detected that regios was spamming errors in my loggs i removed it now (if the bukkit update would come i also could test it)
at all i also dont think that it is the gui making problems. as i said its one oft he most stable things i saw ever and thanks to it (and specialy to the task function) i can remove all those message repeater backuper saver plugins :-P
the idea of a crash detection is good but i asking myself how u wanna make that.
because it looks like that if the server crashes or freezes it makes it with the whole java vm
i dont know whats possible with batch at all (and u wanna make it cross platform) but maybe you could let send the gui or the server a response. if it stops responsing a batch (or side tool) kills all java relating tasks.
this is what i would try first
I think he would need a thirdparty script or something as well for windows and unix if he wanted to kill java vm on if it fails to respond could be wrong.
Actually, the idea was based on the GUI Proxy... When the server crashes, people can still attempt to connect to the proxy so it spams the output with those messages... And I could detect if a certain number of those messages are seen before any MC Server messages come across, it would assume it is crashed.
so i have to tell my users "if its down spam ip with port xxxxxx"??
or doest it redirect :-P
and basicly u can easy hook into it with a third party tool just make it sending stuff as he said with a proxy or something else then tool listens to it --> if there are signals wich are a proof for server downtime then restart... but at least this just sounds complicated.
there are already plugins like milkadmin wich fully makes a webserver based as plugin :-P
so if u just make the gui for example sending a signal ever whatever 1 minute or longer (maybe adjustable) your know if there doesnt comes a signal anymore it must be down :-P
i think you could also proof that with an batch and/or an bash script
and this means he doesnt uses more tools as he uses already
but the question is how to let him send stuff over an port x :-\
wo wo hold on a second, So this auto restart if crashed thing is only going to work is I use the proxy.... No thanks. Id preffer a Batch over another proxy.
I tried using your proxy I set it to my mindcraft port of 7767 and then I set Minecraft to 7799 and when server started it told me Port was already bound.
This leads to me another issue I noticed. Spawn protection in server properties is not saved upon gui closes why I dunnno, I press Save everytime I modify that section of the gui. I double check it updates in the file on disk as well.
But spawn protect gets reset on back to 16 every single time gui closes.
I think this spawn protection issue is due to bukkit and not the gui. If you watch during server start up, bukkit says it found the spawn protection in the server config and is moving it to bukkit.yml, which then overwrites what was in the server file (which is where the gui get the info for the server config).
interesting so maybe to be safe I set it in the bukkit file and the server prorperites then load gui.
This is a feature of Bukkit, and the issue is with the GUI not being changed for the feature.
@dumptruckman needs to make it read and change that line from bukkit.yml and not server.properties. :3
I think it should be on bukkit to remove the feature from the server config file that is generated. Why keep it there if it has been moved to the bukkit config?
I'm not sure exactly what you're saying, but, if players are showing up in the GUI player list, then it will work for you. Pretty simple.
The proxy handling the restarting on server crashes was simply the easiest way I could think of to manage something like that. As far as why it's not working.. You're mentioning 2 ports, both of which are for Minecraft, which only uses 1. I'm assuming one of those is the port of the proxy? Try 2 different ports than those just for testing, and see if it still gives that error.
Sorry I'm not following what you ment by the above. 7767 is my normal minecraft port that I assigned to the GUI proxy and the other is what Is what I assigned in the server.properties.
With the idea being that I would not need to portfoward anything else as the GUI proxy would use my existing port so everything get tossed to the gui that is intended to go to the server. The GUI i was hoping did the internal stuff of sending the data to the server that would run on remaining port.
While craftproxy remains on 20000 and is sent to 7767 then GUI should send to 7799
EDIT: Upon further examination I found that bukkit is removing the property from the server file. It is indeed on the GUI as it has a default setting of 16 and saves it to the server.properties file. bukkit then sees this value and moves the said value to the bukkit.yml file and removes it from the server.properties file.
Does CraftProxy forward to 7767? If not set the proxy external port to the CraftProxy forwarding port and the Minecraft server port to say one above the CraftProxy forwarding port and see if you still have the issue.
So if CraftProxy forwards to 7767 set external port to 7767 and Minecraft server port to 7768.
(I mean no disrespect if it seems my wording is like that to a young person. I realize that not everyone understands English well and I try to simplify what I am saying)
EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Separate names with a comma.