PDA

View Full Version : World Crash Rebooter


Richardo
03-12-2008, 11:52 AM
(This one owns the one I wrote, it is by nosfentora.)

Updated links, heard they were broken

Source:
http://70.183.172.217/EQTools/EQEmuTools.rar
Binaries:
http://70.183.172.217/EQTools/Release.rar

I've put together an auto-crash killer and auto server-restarter. It's written in VB.Net and seems to work fine. Here's the source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

The crash-killer should close any crashed window - whether or not you have a debugger installed.

The server restarted can be set to restart your server periodically, or stop and start your server with one click.

The only thing it needs is to know where your .bat file for launching the server is. It can be installed in any directory.

Here's the .bat I use:

@echo off
cls
echo *** CLEARING OLD LOGS ***
del "C:\EQEmu\logs\*.*" /q
echo *** STARTING EVERQUEST WORLD EMULATOR ***
start world.exe
ping -n 15 127.0.0.1 >nul
echo *** STARTING EVERQUEST ZONES ***
start eqlaunch.exe static
start eqlaunch.exe dynamic
exit

Feedback is greatly appreciated!

trevius
03-12-2008, 11:20 PM
That is awesome! My world.exe never crashes, but I am sure this will be handy for many that might have lesser stability.

Do you think you could make one that restarts the world.exe on a timer? To have it close out the existing one and start a new one? And if possible give a 30 minute warning countdown in game? I am able to deal with daily server reboots manually to keep mine running in tip top shape, but lower maintenance is always appreciated :) Plus, that would be extra handy when the server owner goes on vacation for a week :P If you run a windows server, it would probably be unplayable after a week of heavy play.

Just a thought for something extra if you had time. I don't think it is in high demand, but if it wasn't much change from this app, it might not be a bad additional program to have :)

cavedude
03-13-2008, 12:40 AM
I actually purposely kill the world process every now and again on TGC when it starts acting up. We have a world auto-restart built into our script (running Linux) so no need to worry about that. The cool thing is when world goes down, really the only people who get disconnected are the ones zoning. For the most part, it's business as normal for everybody else except for the zone reconnect spam.

It isn't just Windows servers that are effected by heavy load and such, Linux boxes have the same issues though not as bad I think.

This is a great tool for Windows users, though. Mind if I add it to the next version of the Installer?

Richardo
03-13-2008, 04:42 AM
That is awesome! My world.exe never crashes, but I am sure this will be handy for many that might have lesser stability.

Do you think you could make one that restarts the world.exe on a timer? To have it close out the existing one and start a new one? And if possible give a 30 minute warning countdown in game? I am able to deal with daily server reboots manually to keep mine running in tip top shape, but lower maintenance is always appreciated :) Plus, that would be extra handy when the server owner goes on vacation for a week :P If you run a windows server, it would probably be unplayable after a week of heavy play.

Just a thought for something extra if you had time. I don't think it is in high demand, but if it wasn't much change from this app, it might not be a bad additional program to have :)

I'll work on that right now. It sounds like a really fun project. :D

Cavedude: If you think my software is worthy, I'd be honored. :)

Richardo
03-23-2008, 09:32 AM
That is awesome! My world.exe never crashes, but I am sure this will be handy for many that might have lesser stability.

Do you think you could make one that restarts the world.exe on a timer? To have it close out the existing one and start a new one? And if possible give a 30 minute warning countdown in game? I am able to deal with daily server reboots manually to keep mine running in tip top shape, but lower maintenance is always appreciated :) Plus, that would be extra handy when the server owner goes on vacation for a week :P If you run a windows server, it would probably be unplayable after a week of heavy play.

Just a thought for something extra if you had time. I don't think it is in high demand, but if it wasn't much change from this app, it might not be a bad additional program to have :)

I'm almost done with this tool for you. :) It will actually telnet into your server... send a message to everyone telling them the world will shutdown... then after that grace period timer ends.. it will end the world process and restart it. All of the timers are completely customizable as well as the emote it sends out to the players (including the color of the emote). All customizations will be done through a single config file (Timers run by milliseconds 1000 = 1sec 60000 = 1minute etc... Maximum that you can run a timer is 1 week.).. I just need a tester to test this script for me. :)

trevius
03-23-2008, 09:57 AM
Woot, sounds very awesome! I wouldn't mind giving it a test run if you need :) I know for sure that this will help when Admins need to go away for the weekend (yes, it happens)!

One more question; Will this tool restart the world server automatically after a #worldshutdown is issued? Are both the reset on a timer and the crash restarter combined together in the new tool? This way, guides or GMs on the server can restart it anytime it needs one. I have a GM account on another server other than my own and could have definitely used that option over this past weekend. If I could have just don't a #worldshutdown and it would automatically restart, it would have helped server performance there considerably while their GM was away. So, does the crash restarter only work on a crash, or anytime the world server is shut down?

I notice that you mention it watches for "World.exe has encountered an error". And I am not sure of the message given if it is shut down with the #worldshutdown command.

Thanks for all of your work on this. I am sure it will be well appreciated by both server admins and players :D

Richardo
03-26-2008, 06:00 AM
Well I can do many things... Right now it waits for an error, closes the error and reopens world. I could code a guide world rebooter/zone rebooter in 20 minutes if you want. I'll encorperate them all into a large pack and let you select which ones you want enabled.

trevius
03-26-2008, 07:35 AM
You are the man! With a tool like this, I think options are the key. With the ones you have planned so far for the package, I think it should be a pretty complete tool that any server admin would find useful when it is needed.

Thank you!

circuitdragon
03-26-2008, 10:17 AM
Here is a quick question for you. Will this affect only the world.exe file, or the zone.exe also, and thus doing a complete restart? If the zone.exe is included, then I have another question. When I use the shutdown command in game, it will close everything but the zone.exe's (plural, one for statics, one for dynamic zones). Just tossing out the ideas here, if this is something that will be included. Now the zone files themselves seem to "close down" all the zones they are running, just leaving a blank window open. Anyhow, just my thoughts/suggestions. :)

nosfentora
05-29-2008, 02:15 PM
I've put together an auto-crash killer and auto server-restarter. It's written in VB.Net and seems to work fine. Here's the source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

The crash-killer should close any crashed window - whether or not you have a debugger installed.

The server restarted can be set to restart your server periodically, or stop and start your server with one click.

The only thing it needs is to know where your .bat file for launching the server is. It can be installed in any directory.

Here's the .bat I use:

@echo off
cls
echo *** CLEARING OLD LOGS ***
del "C:\EQEmu\logs\*.*" /q
echo *** STARTING EVERQUEST WORLD EMULATOR ***
start world.exe
ping -n 15 127.0.0.1 >nul
echo *** STARTING EVERQUEST ZONES ***
start eqlaunch.exe static
start eqlaunch.exe dynamic
exit

Feedback is greatly appreciated!

spider661
06-04-2008, 01:27 AM
this is not working on my pc it loads and everything but does not boot the server up and seeing as i have not been able to get it to boot the server i have not found if it will reboot after a crash. anyways though i would say something mabie there is a fix or something someone else wants to post that works?

im running windows xp sp3 just in case thats the issue.

im talking about the last post seems the one from the first guy has been taken down because he quit on it?

trevius
06-04-2008, 07:51 AM
I could never get the one that Richardo wrote to work either. My world server would crash and the popup would come up about the crash, but it never restarted the world or seemed to do anything other than run in my system tray. So, I dunno.

nosfentora
06-04-2008, 01:16 PM
I've updated a few things, the links above contain the updated versions - it should also kill hung zones (zone.exe that stays at 50% for more than 30 minutes)

spider661 - does your .bat file boot the server?
also - clicking 'start' from the file menu doesn't start the server, it starts the process monitoring. you'd need to click 'start server now' from the file menu first, then click start. i havent had time to put in a check to see if world.exe, eqlaunch.exe or zone.exe are running yet - so that clicking 'start' also starts the server if it's not running.

spider661
06-04-2008, 08:34 PM
yes my bat file starts the server fine on its own but i did not start server first then hit start mabie that was the prob ill give it a try thanks

spider661
06-04-2008, 08:39 PM
well it seems to be working now.. thanks.. another thing when it resets the server does it give an in game warning? and if not would it be hard to do that? maybe telnet to the server and broadcast server coming down half hour before and maybe 10 and 1 mins before?

nosfentora
06-05-2008, 08:10 AM
When I get a chance I'll change the code so that clicking 'Start' also starts the server if it's stopped.

spider661
06-06-2008, 04:51 AM
nosfentora sorry to bug you but you never answered my last question i figer you may have missed it sense it was on a new page of the topic.. could you read up a post above your last and let me know what you think maybe?

nosfentora
06-06-2008, 08:14 AM
At present it doesn't broadcast. I'm looking into how to get that done and have it broadcast 2 or three times, like you said, before the server will reboot.

nosfentora
06-06-2008, 10:59 AM
Ok. I've added code that should start the server when you click 'start' if the server is stopped (if it doesn't find world.exe running.)
clicking 'stop' will not stop the server, but will stop my program only.
to stop the server, you need to click 'stop server now'

i've also added code to broadcast a message at 30, 15, 5 and 1 minute before reboot. the broadcast msg can be customized but will always end in 'X minutes' where X is the timer remaining.

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

spider661
06-11-2008, 02:16 PM
great program found a problem though.. the test telnet worked just fine. but when it whent to broadcast for the real shutdown i got an error.. this this is what it says.

Error brodcasting: system.invalidoperationexception: sendkeys cannot run inside this application becuase the applacation in not handling windows messages.
Either change the applicacation to handle messages, or use sendkeys.sendwait method.
at system.windows.forms.sendkeys.send(string keys, Control control, boolean wait)
at system.windows.forms.sendkeys.send(string keys)
at eqemutools.eqemutools.brodcast(string delay)

also in case it matters. i set the restart time to 0.15 so i could see how it works kinda a test. i don't know if that would have caused it or not but figured i would let you know.

nosfentora
06-12-2008, 08:26 AM
Yea I've been getting that too - and i'm trying to figure out what i missed.

putting in .15 will just make it restart in 9 minutes (60*.15), it'll accept any numerical value - though i'm not sure what would happen with a negative value.

nosfentora
06-12-2008, 08:34 AM
OK, updated the code - it shouldn't hang at that point anymore.
i also included a debugging line so that if it does, it should tell you at what point it's having problems.

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

spider661
06-12-2008, 09:51 AM
its working great now.. i did notice one problem it brodcast the same message 2 times and the 1 min broadcast is saying it 2 times also once at 1 min then again right before it shuts down.. it did it for 5 mins also.

not a big deal it works great but figured you may wish to know.

John Adams
06-12-2008, 09:57 AM
I cannot seem to d/l from your links. Mind if I mirror them from my site when I do get them? Unless they are changing rapidly, we could mirror when you are done.

nosfentora
06-12-2008, 03:16 PM
Spider,
Yea I noticed that too - and I think I know why - i'm actualy surprised it's not broadcasting 3 times tbh.

I'll work on playing with that and get it to broadcast only once.

I guess it could be seen as a 'feature' in that if you're in the midst of battle-spam you may not see the 1st one! =)

John,
the links aren't changing. they're from my server, I just keep posting them so folks don't have to go hunting through the threads - but you're welcome to mirror them. Let me know if you're still having problems.

John Adams
06-12-2008, 03:37 PM
I got them that time, thanks! I'll throw a link to them in my d/l section and try and keep them updated with your releases.

nosfentora
06-12-2008, 03:38 PM
Sounds good. The link should always be the same - so that should make it easier for you too!

spider661
06-13-2008, 01:13 AM
noticed a problem i had a zone crash today and when i looked the box was up saying zone.exe crashed it was my static zone it reloaded as dynamic but still it did not kill the crash message or restart the zone i only had 20 out of 21 loaded.

i don't know if its something with the static zones or if its a bug though i have not had time to even look at the code.

anyways thought i would let you know.

note when i told it don't send to the error message it reopened the static zone. alone with the dynamic of the same name because someone was in the zone when it restarted.. but im pretty sure that was eqemu rebooting the crashed zone after i closed the error message.

Aramid
06-13-2008, 05:20 AM
noticed a problem i had a zone crash today and when i looked the box was up saying zone.exe crashed it was my static zone it reloaded as dynamic but still it did not kill the crash message or restart the zone i only had 20 out of 21 loaded.

This is a known problem in eqemu. Any crashed Static Zone will reboot as dynamic on the next highest port number that has not been used yet. Was told that it would take some major work to correct this problem.

nosfentora
06-13-2008, 08:23 AM
Yea i've seen that too even before I started this proggy, so I'm sure Aramid's right. Sometimes I look at the status page and there are say 29 out of 33 zones running. clicking on '29 zones booted' and it shows 33 zones up. still haven't figured that one out yet. =)


When you say it didn't kill the crash message - are you talking about the popup error message box that windows shows?
If so, next time you see one, look at task manager and see if you see a process 'DW20.exe', or 'VSJITDEBUGGER.EXE'. Let me know which one you find, and also what buttons are on the popup window - ie SEND, DON'T SEND, etc etc (and which - if any) letters are underlined. I'll need that info to adjust my code to make sure it clicks on the appropriate button.

spider661
06-13-2008, 10:52 AM
ok to see the error yourself make a static zone with a npc that sends you to poair.

if you changed the zone table for that zone set flag_needed to 1
then send to this loc

#A conversation to Teleport Player to a new zone (poair)
sub EVENT_SAY
{
if ($text =~/Hail/i)
{
quest::say ("Hello $name. if you would like to travel to {PoA] let me know and I will take you there.");
}
if ($text =~/^poa$/i)
{
quest::say ("Off you go!");
quest::movepc(215, 532.0,884.0,-92.6);
}
}


this will crash the zone when talking to the npc with a lvl 1 char.

here is the answer to your question.

i see dwwin.exe not sure if thats it but i don't see either of the other 2 and if I end task it closes the pop up. and it has (send error report) and (don't send) none are underlined.

the error box is titles zone.exe and says zone.exe has encountered a problem and needs to close.

John Adams
06-13-2008, 12:35 PM
In short, I do not believe "flag_needed" is working properly, or it is so poorly documented that people try 1's and 0's instead of plain text (PoAFlag for instance) and once you use the #flags command or quest script to add the flag to the players, zoning in crashes the zone.

This has been my experience while trying to create flagged custom content. Search the source, you can see what values it's expecting.

spider661
06-13-2008, 12:50 PM
In short, I do not believe "flag_needed" is working properly, or it is so poorly documented that people try 1's and 0's instead of plain text (PoAFlag for instance) and once you use the #flags command or quest script to add the flag to the players, zoning in crashes the zone.

This has been my experience while trying to create flagged custom content. Search the source, you can see what values it's expecting.

ya i understand that i think it should be 1's or 0's though thats how its set from the peq database. poair is set to 1 on the flag_needed section.. i changed it to not need any flags but before i did i noticed it was crashing the zone so i used that as an example to show the error i was getting with the crash.. its only an example i don't care about he flags really :P

but anyways thats how you force a crash.

nosfentora
06-13-2008, 01:27 PM
I'll look into it and see what i can come up with.
dw20.exe should be the app you're looking for in task manager.

i'm not sure what dwwin.exe is - unless that's drwatson, but i thought that was drwatson.exe

spider661
06-13-2008, 02:18 PM
confirmed dwwin.exe is the error message possess.

the possess information (http://process.networktechs.com/dwwin.exe.php)

it is related to Dr Watson which is used by the error reporting tool

when i end the prossess the popup goes away and the static zone goes down and reloads as a dynamic.

nosfentora
06-13-2008, 02:21 PM
hmmm ... interesting.
i'll have to add that to the code then.

and you're sure that the 'send' and 'don't send' buttons do NOT have any letters underlined (like shortcut keys? ie the File menu usually has F underlined)

nosfentora
06-13-2008, 02:29 PM
Ok, i've added dwwin to the code and checking for 'Close' and 'Don't Send' buttons without underlines (shortcut)

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

let me know how it works.

spider661
06-13-2008, 06:52 PM
actually its (send error report) and (don't send) buttons and yes im sure there are no underlines under them.. ill give it a try.

spider661
06-13-2008, 07:02 PM
yep it took a few secs but it closed the error message and my static zone is still running i did not noticed if it opened a new one or not the window was up the whole time but the site says all the zones are loaded. it did open my server folder but i think that is part of the server restart zone code.. not sure but it seems to be working ill let you know if i find more problems

nosfentora
06-14-2008, 01:39 PM
Cool. It's the 'Don't Send', 'OK','Close' buttons that i'm working with.

nosfentora
06-17-2008, 02:49 PM
I've updated it again:

Fixed code that was killing zones that were not really hung
Log will now report that it is tracking a hung zone and the pid of the zone. Check against task manager to make sure it's at 49%+ cpu usage. if it drops back down to 0, log should report 'zone appears to have returned to normal.' and no longer track the hung zone.

When minimized it will sit in the system tray, until you click on the system tray icon.

Added an icon to make it look prettier.

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

spider661
06-17-2008, 03:22 PM
good job on this so far have not had any probs getting new code now.. but i would say it has been a god send so far. still not liking it broadcasting 2 times but its just a minor annoyance nothing big.

ill try the new code after the next reset on my server. thanks for all the work you have put into this..

also i don't know what happened but it seams earlier today the program itself crashed after broadcasting 30 mins till rest i did not see it happen but the program was closed no error window or anything.. best i could figure it crashed and closed the error window right before it closed :P is that even possible?

would it be doable for it to reopen itself if it crashes? im guessing no becuase the program is closed on crash but was a thought.. anyways ill give the new code a try

spider661
06-17-2008, 03:24 PM
you posted the link wronge its pointing to (:82) http port 82 i was able to get them changeing the page that poped ups address but may want to change that :P

nosfentora
06-18-2008, 08:21 AM
it should be port 82 - and i'm pretty sure my links have always been port 82. If it works both ways, that's ok - i have apache and iis running on the same machine for different reasons.

I made some minor tweaks to the code and also added tabs to be able to view, add, edit and delete Rule_Sets, Rule_Values, and Variables

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

make sure you edit the options to log into your mysql database.
If you want to compile the source, you'll need MySQL Connector.Net 5.1.6 (http://dev.mysql.com/downloads/connector/net/5.1.html)

nosfentora
06-18-2008, 08:51 AM
Damn 5 minute rule!

Important Note: The program will not load the variables tab if there is invalid data in the variables table. If it pops up with a message saying it didn't load - follow the directions.

You'll need to manually edit the variables table and change all values in the ts column from '0000-00-00 00:00:00' to a valid timestamp (ie 2008-06-18 08:50:00)

nosfentora
06-18-2008, 02:38 PM
Ok another update

* It should only broadcast once.
* It should actually hide itself when you minimize it. clicking on the icon in the tray will unhide it.
* version number displayed in the titlebar
* i re-did the way rule_sets, rule_values and variables are edited

let me know if there are any problems!

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

make sure you edit the options to log into your mysql database.
If you want to compile the source, you'll need MySQL Connector.Net 5.1.6 (http://dev.mysql.com/downloads/connector/net/5.1.html)

spider661
06-18-2008, 08:52 PM
im not seeing anything in the server rules tab and only seeing 2 variables in the server variables tab..

just thought you would like to know.. any more info you need let me know.

nosfentora
06-19-2008, 08:54 AM
Hmmm.... try re-downloading it and running the new version (1.0.0.3)
also check that you have info in your rule_sets, rule_values and variables tables.

spider661
06-20-2008, 05:43 AM
nope got new version still same thing.. does it matter that i use peq db? ill look at the code later today see if i dont see whats up. but im sure you will find the problem.. and yes the tables have info in them

btw dont think i told you yet this is a really nice program you have done a great job thus far.

nosfentora
06-20-2008, 08:14 AM
Thanks!

I'm using the peq db too - but if i'm not mistaken peq and angelox's are the same format (ie table structure is the same), just differ on content.

that's strange. i've been running it on mine and it runs and loads fine.
I've been running it on the same machine that my eq server is running on and sql server is on.

are you using 'root' in the settings to log into the mysql server?

nosfentora
06-20-2008, 09:01 AM
Added an option to load the old log at startup

added some code to give feedback when there's connection/db errors that should help you trace the problem.

Also, changing settings when the program is running will take effect immediately.

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

make sure you edit the options to log into your mysql database.
If you want to compile the source, you'll need MySQL Connector.Net 5.1.6 (http://dev.mysql.com/downloads/connector/net/5.1.html)

spider661
06-20-2008, 03:41 PM
yep using it on the same server as my server/db
it is connecting becuase it sees 2 peases of info from the vers table but nothing else.

i do not use root as the user for security but i am useing a valid account that has read write access..

ill give the new ver a try when the server resets next.

spider661
06-20-2008, 03:48 PM
nope still only reading 2 server variables and no server rules.

and i skimmed the code and did not see nothing wrong with the database stuff. it did not give any connection errors in the log.

ill give it a better look when i get some time.

nosfentora
06-23-2008, 08:37 AM
Just for shins & grins - try using root and see what happens. there may be some permission problems - i developed this using root access when i created the connection string

nosfentora
06-23-2008, 09:20 AM
Ok, added code to make any db errors extremely verbose, and write those errors to the log (along with popup msg's)

Fixed a problem where the displayed log was getting cleared on load, rather than displayed if the 'Load old log' option was checked.

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

make sure you edit the options to log into your mysql database.
If you want to compile the source, you'll need MySQL Connector.Net 5.1.6 (http://dev.mysql.com/downloads/connector/net/5.1.html)

nosfentora
06-24-2008, 11:10 AM
Spider661, any luck? Try this version (1.0.0.6), and pm me the log (make sure you edit out your passwords =) ) Maybe I can make heads or tails of it.

Update:

* Added a 'broadcast now' button to allow custom msg's to be broadcast at any time.
* Last broadcast message will be saved for when the program is restarted.
* All msgs's broadcast are written to the log
* Any and all error messages should be written to the log.

Links: source (http://70.183.172.217:82/EQTools/EQEmuTools.rar) and win32 binaries (http://70.183.172.217:82/EQTools/Release.rar)

make sure you edit the options to log into your mysql database.
If you want to compile the source, you'll need MySQL Connector.Net 5.1.6 (http://dev.mysql.com/downloads/connector/net/5.1.html)

spider661
06-24-2008, 03:35 PM
still no go on them tables i tryed root and the root password but says user cant connect i think its because i have it set to local host only and its connecting useing my local ip and not localhost. not sure but anyways its seems to not be able to access the account even if i am loaded on the same computer. with my normal user name it connects and reads 2 server variables only.. and only thing in the log file is this

[6/24/2008 3:31 PM] Options saved.
[6/24/2008 3:32 PM] EqEmuTools Exiting.
[6/24/2008 3:32 PM] EqEmuTools Started

spider661
06-24-2008, 03:45 PM
i changed root so that it can be accessed from other then localhost and it connected fine but still same thing useing root user

log
[6/24/2008 3:31 PM] Options saved.
[6/24/2008 3:32 PM] EqEmuTools Exiting.
[6/24/2008 3:32 PM] EqEmuTools Started
[6/24/2008 3:35 PM] Auto Kill Crashed Zones Started....
[6/24/2008 3:35 PM] Auto Kill Hung Zones Started....
[6/24/2008 3:35 PM] Auto Restart Server Started....
[6/24/2008 3:35 PM] Next Restart At: 6/25/2008 1:35 AM
[6/24/2008 3:35 PM] Broadcast Enabled.
[6/24/2008 3:36 PM] Broadcasting: new tool to broadcast just testing it
[6/24/2008 3:43 PM] Stopping All Actions
[6/24/2008 3:44 PM] Options saved.

nosfentora
06-25-2008, 08:25 AM
Hmm, I'd bet there are some permissions set on mysql that's causing problems, but if it loads 1 or 2 items from the db, then it should be working....
Do you have a vb.net 2005 compiler?

spider661
06-30-2008, 01:27 AM
yes i have vs2005

nosfentora
07-01-2008, 10:36 AM
You might want to try debugging the code in the
LoadRuleSets,
LoadVariables,
LoadRuleValues
subs - see if you come up with any errors or information there.
You might need to comment out the "<System.Diagnostics.DebuggerStepThrough()> _" in MySQLTransDB.vb so the debugger doesn't skip over them.

i've been running the latest ver on 3 different machines, local, remote (same network) and remote (outside the lan) and have had no problems yet.

let me know if you need help - sorry this has been giving you trouble =/

btw - are you using Vista or XP?

spider661
07-03-2008, 04:14 AM
im using xp pro and dont worry about it man.. if the tables do not list right thats fine i was ok with the restarted before you added the database stuff. i don't really need to know what info is set there its all listed on my site. its a great program im not worried about some database strings not working that i don't really need anyways.

but if i get some time ill debug it like you say encase others do have the same prob.

nosfentora
07-03-2008, 07:57 AM
Cool - I just hate when something I build doesn't work right =)

let me know if you have any more probs with broadcasting or rebooting!

Cheers!

nosfentora
09-09-2008, 03:55 PM
Updated links, heard they were broken

Source:
http://70.183.172.217/EQTools/EQEmuTools.rar
Binaries:
http://70.183.172.217/EQTools/Release.rar

spider661
09-18-2008, 02:38 AM
hey is there a way to port this to Linux?

i love the program but im having problems on windows so with the server upgrade im moving to Linux and would like to use a program like this still..

is there anything we can do?

nosfentora
11-06-2008, 09:36 AM
i'm not sure how compiling the code directly in linux would work - as it's based off the .net 2.0 framework. i suppose it could be a command line driven program - but i have no idea where to begin.

the source is freely available if someone wants to tinker with it.

nosfentora
06-04-2009, 03:28 PM
I'd like to share with the community an app I've been working on for a while.

It's still in the Beta phase and I'm sure has a few bugs here and there. Feedback is appreciated and welcome! I've been running it on my server for about a week and haven't had any problems.

I tried to capture all possible errors and have it write to error.log. PM me the contents of that file and I'll see what's what.

What it does:
Monitor:
* Monitor your server (running processes & uptime)
* Start & stop your server with the push of a button (entire server or parts)
* Auto close crash windows, auto kill hung applications (not only server components)
* Automatically load all launchers found and launch the one(s) selected
* Auto restart server on an interval
Maintenance:
* Update source (and source db) from SVN
* Update PEQ Database from SVN
* Update PEQ Quests from SVN
* Update Maps from SVN
* Update local database when update found (SVN & PEQ)
* Compile new binaries when update found
* Upgrade server binaries and *.conf
* Backup database

Coming:
AXClassic support
Other SVN compatibility (upon request)

S/W Requirements:
TortoiseSVN to update from the SVN
Visual Studio (2005 or 2008) to compile
MySQL to connect to the database

Installation:
Unrar to any folder. Must be on local emu server machine to monitor / stop/start processes.


Download (http://70.183.172.217/EQTools/ServerTender.rar)

nosfentora
06-09-2009, 02:28 PM
Updated ServerTender... (download (http://70.183.172.217/EQTools/ServerTender.rar))

* can now run SQL and/or Batch file before db update and after.
* backup batch file included to backup all bot info, all character info, rules, variables, etc. modify to suit your needs or add your own customizations.
* backup sql file included to re-source last backup after update
* added option to update player & bot tables on full PEQ update
* properly updates db_version and core_version in the database
* monitor log files generated by running world, zone(s), chat & mail server
* hide / show the server windows
* starts world.exe with processor affinity on core '0' to help with multi-core issues.
* view the built in eqemu admin website
* miscellaneous tweaks and timer fixes

no need to overwrite your settings.conf file (makes it easier to not have to re-set all options.)

nosfentora
06-09-2009, 02:39 PM
Updated ServerTender...v1.0.0.1 Beta (download (http://70.183.172.217/EQTools/ServerTender.rar))

* Edit rules and variables on the fly. (server restart for changes to take effect)
* Edit your config on the fly. (server restart for changes to take effect)
* Dump your entire database to a single file.

nosfentora
06-11-2009, 11:02 AM
Updated ServerTender...v1.0.0.1 Beta (download (http://70.183.172.217/EQTools/ServerTender.rar))

* Broadcast now enabled
* added option to source player tables on full PEQ update

nightsta69
08-27-2009, 05:13 AM
anyone know if there is an updated version of this? I get an unhandled exception when starting eqlaunch. this seems like a really good program, and would like to try it on my server. any help would be appreciated.

nosfentora
08-28-2009, 07:53 PM
can you pm me any more info? debug logs, detailed error info, peq rev, os, etc? i'll look into it as soon as i can.

nightsta69
08-28-2009, 11:22 PM
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at ServerTender.Form1.StartStopServer(String command)
at ServerTender.Form1.StartStopServerButton_Click(Obj ect sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ServerTender
Assembly Version: 1.0.0.1
Win32 Version: 1.0.0.1
CodeBase: file:///C:/Users/Public/EQEmu/ServerTender.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
MySql.Data
Assembly Version: 5.2.5.0
Win32 Version: 5.2.5.0
CodeBase: file:///C:/Users/Public/EQEmu/MySql.Data.DLL
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.1 built by: SP
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.




this is the error I get when I hit start world. world comes up, but eqlaunch doesn't. also it gives me errors on the first page when you try to broadcast anything.
EDIT:: oh and just double clicking on the executable gives me an "error initializing" box, but no debug info for that.

binary rev:972

peq DB rev:31

windows server 2008 enterprise

AMD opteron 8350 Barcelona 2.0 quad core x 4
16 gb ram

Sylaei
08-29-2009, 03:57 PM
i'm not sure how compiling the code directly in linux would work - as it's based off the .net 2.0 framework. i suppose it could be a command line driven program - but i have no idea where to begin.

the source is freely available if someone wants to tinker with it.

I'd like to look at the source, if it is still available.

nosfentora
08-30-2009, 08:22 PM
@Sylaei: I'll post the link for the source tomorrow. (its for the old rev), i'll post a link for the new rev too.

@nightsta69: i'll look into it asap and let you know.

nosfentora
08-31-2009, 11:41 AM
@Nightsta69 - it looks like you have some variable un-defined in your options.

delete the file 'settings.conf' and run the app again, re-define the settings.
there should be files 'database.log' and 'error.log' in the folder - they will help me out more if you can send them to me.

nosfentora
08-31-2009, 11:49 AM
As promised

Sources:

Old version (http://70.183.172.217/EQTools/EQEmuTools_Source.rar)

New Version (http://70.183.172.217/EQTools/ServerTender_Source.rar)

nosfentora
08-31-2009, 11:57 AM
Re The broadcast error:

1) your eqemu_config.xml must have this line enabled:


<tcp ip="127.0.0.1" port="9000" telnet="enable"/>


2) the port in the ServerTender config needs to be 9000 (or whatever you use in step 1)

3) your username and password need to be the same as what you use to view the http management page (defined in your account table).

nightsta69
08-31-2009, 11:59 AM
error.log
[8/27/2009 - 4:14 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/27/2009 - 4:36 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:09 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:13 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:27 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/31/2009 - 10:57 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()


database.log
8/27/2009 4:14:11 AM DB initialized OK.
8/27/2009 4:14:14 AM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/27/2009 4:14:18 AM DB initialized OK.
8/27/2009 4:14:19 AM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/28/2009 10:09:46 PM DB initialized OK.
8/28/2009 10:09:49 PM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/28/2009 10:12:54 PM DB initialized OK.
8/28/2009 10:12:55 PM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/28/2009 10:14:41 PM DB initialized OK.
8/28/2009 10:14:42 PM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/28/2009 10:26:52 PM DB initialized OK.
8/28/2009 10:26:52 PM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/29/2009 2:26:28 PM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException: Writing to the stream failed. ---> System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.BufferedStream.FlushWrite()
at System.IO.BufferedStream.Flush()
at MySql.Data.MySqlClient.MySqlStream.Flush()
--- End of inner exception stack trace ---
at MySql.Data.MySqlClient.MySqlStream.Flush()
at MySql.Data.MySqlClient.NativeDriver.ExecuteCommand (DBCmd cmd, Byte[] bytes, Int32 length)
at MySql.Data.MySqlClient.NativeDriver.Query(Byte[] bytes, Int32 length)
at MySql.Data.MySqlClient.Statement.ExecuteNext()
at MySql.Data.MySqlClient.PreparableStatement.Execute Next()
at MySql.Data.MySqlClient.PreparableStatement.Execute ()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
--- End of inner exception stack trace ---
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)
8/31/2009 10:56:52 AM DB initialized OK.
8/31/2009 10:56:54 AM TRANSDB: (ReadFromDB): Failed reading from database:

MySql.Data.MySqlClient.MySqlException: Table 'peq.core_version' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.OpenPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadResult(UIn t64& affectedRows, Int64& lastInsertId)
at MySql.Data.MySqlClient.MySqlDataReader.GetResultSe t()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataR eader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at ServerTender.MySQLTransDB.NewReadFromDB(String sql_cmd, Boolean SORT, String ORDER_BY, String SORT_ORDER)


settings.conf
WorldLogs::True
UseSVNDB::False
EQEmuProjectFile::
AutoHideWindows::False
CompilerPath::
UseSVN::False
UseConfig::True
SVNArguments::/closeonend:0
MapsPath::
AutoKillHung::True
BroadcastPass::******
AutoStartNewRev::False
ForceBuild::False
RestartNumeric::24
AutoBuildAt::0
UsePlayer::False
DatabaseName::peq
MonitorLogs::True
Broadcast::True
DatabaseLogin::root
UseSVNDBAfterPEQ::False
AutoSourceUpdates::False
MailLogInterval::1800
ServerMessage::Server will reboot in
UseVariables::True
DatabaseIP::localhost
RestartSpan::0
UpdateQuests::False
UseRules::True
ChatLogInterval::1800
AutoUpdateSVNSpan::0
WebPass::
WebPort::
WebIP::
AutoUpdateRev::False
UseCompiler::False
ZoneLogInterval::1800
MailLogs::True
MySQLDumpPath::C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump.exe
AutoUpdateSVNNumeric::24
EQEmuSourcePath::
AutoRestartVariables::True
RestartKillMethod::1
AutoKillCrashInterval::30
ZoneLogs::True
UpdateDatabase::False
CompilerOptions::/rebuild
MySQLPath::
WorldLogInterval::1800
DatabasePass::********
BroadcastIP::localhost
AutoRestartConfig::True
ChatLogs::True
AutoKillHungDuration::30
BroadcastLogin::nightsta68
PEQDBPath::
PEQDBUpdatesPath::\Updates
UseMySQL::False
EQServerFolder::C:\Users\Public\EQEmu
AutoKillCrashes::True
EQConfigFile::C:\Users\Public\EQEmu\eqemu_config.x ml
FirstRun::False
AutoBuildEvery::0
AutoUpdateSVN::False
AutoRestartRules::True
LogFolder::C:\Users\Public\EQEmu\logs
AutoRestartServer::True
DatabasePort::3306
UsePEQDB::False
UpdateMaps::False
PEQQuestsPath::
UseWeb::False
SVNAppPath::
UpdateSourceCode::False
WebLogin::
BroadcastPort::9000

here are the files requested. this is after I redid the settings, making sure to fill in everything that was requested to be filled in. hope it helps, really want this working.

nightsta69
08-31-2009, 12:17 PM
sorry for second post, it wouldn't let me edit. here is another dump of the error.log. I tried what you said for the broadcasting, and it still gets an error when tryin to broadcast. plus I noticed it was having a problem looking for peq.core_version table. I don't have a core_version table, but I do have a db_version table. maybe peq changed it? Idk, but my 2 cents on that.

error.log
[8/27/2009 - 4:14 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/27/2009 - 4:36 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:09 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:13 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/28/2009 - 10:14 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/28/2009 - 10:27 PM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/31/2009 - 10:57 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/31/2009 - 11:08 AM] Init
System.IndexOutOfRangeException: There is no row at position 0.
at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
at System.Data.RBTree`1.get_Item(Int32 index)
at System.Data.DataRowCollection.get_Item(Int32 index)
at ServerTender.Form1.GetLastCompiledSourceVersion()
at ServerTender.Form1.InitMaintenance()
at ServerTender.Form1.Init()
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:08 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:09 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:09 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:09 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:09 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)
[8/31/2009 - 11:09 AM] Error broadcasting:
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout)
at ServerTender.Form1.BroadcastNow(String msg)

nightsta69
08-31-2009, 02:47 PM
ok 3rd post lol. ok I got it working for the most part, after looking through your source, I found the core_version.sql and ran it. now everything starts up, tho still can't broadcast. maybe my problem, Idk, workin it out now.

nosfentora
08-31-2009, 03:23 PM
the core_version is a table that my app uses (to keep track of the current source revision - essentially it's identical to db_version), and you running it should clear up that problem, though it's trange - it should auto source core_version.sql if not found....

have you tried running this with elevated permission or as admin? (if i rmember right you're using server 2k8 right?)

i think it's failing on trying to run telnet.exe (check and see if it exists in you machine - you might need to install it).

you could also open the source, search for 'BroadcastNow' in Form1.vb, and change Broadcast3(msg) to Broadcast1(msg) and recompile.

nightsta69
08-31-2009, 05:14 PM
yep needed telenet, everythings workin great now. thanx again for the help, and awesome app

nosfentora
09-01-2009, 08:18 AM
welcome and let me know any bugs / errors you run into.

nightsta69
09-01-2009, 02:59 PM
hey me again. again I want to thank you for a wonderful app, I have a few things i've noticed that might be out of place, maybe just needs updating again Idk.

1. rules aren't showing up on the rules tab. I have it config'd for it to show them, but they just aren't showing up.

2. I started tinkering with the auto compiler, and had it compile, but after it compiled and restarted the server, I was my zones were failing to launch. wish I had the screenie for it, but unfortunately I forgot to get it before tryin to fix it. I recompiled under VS2008 and its working fine now. dunno if that was the apps problem or a fluke.

3. after it did the compile I was tryin to get it to update the binaries but it would crash when attempting (see code block below). basically it tries to move the new biniaries to the eqemu folder, but its trying to pull from svnroot/build folder, but the route to the new biniaries is svnroot/trunk/eqemuserver/build. don't know if you are aware of that or not. this causes an unhandled exception, cause it can't find the build folder, and crashes the app. I Just unchecked update binaries and conf and ran eqemu from the build folder, and it works good enough. just thought you should be aware of that.

output from debugging
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a 5c561934e089\mscorlib.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Users\Public\New Folder\source\trunk\EQEmuServer\Build\ServerTender .exe'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasi c\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic. dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a 5c561934e089\System.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms \2.0.0.0__b77a5c561934e089\System.Windows.Forms.dl l'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0 .0__b03f5f7f11d50a3a\System.Drawing.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Configuration \2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dl l'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__ b77a5c561934e089\System.Xml.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Runtime.Remot ing\2.0.0.0__b77a5c561934e089\System.Runtime.Remot ing.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Users\Public\New Folder\source\trunk\EQEmuServer\Build\MySql.Data.d ll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b 77a5c561934e089\System.Data.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Transactions\2. 0.0.0__b77a5c561934e089\System.Transactions.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.EnterpriseServi ces\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseSer vices.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0_ _b77a5c561934e089\System.Core.dll'
An unhandled exception of type 'System.IO.DirectoryNotFoundException' occurred in mscorlib.dll

Additional information: Could not find a part of the path 'C:\Users\Public\New Folder\source\Build'.


4. broadcast works, but then closes the window. no debug info for it, but thats all it does lol.

5. idk if this supports the new ucs, or if the mail/chat server IS the ucs. sorry couldn't find a whole lot of info on it. but if its not, is there a way to update it to support the new ucs for SoF?

6. bots.sql isn't being sourced in when its updated. just another notice, dunno how indepth you were wanting the sourcing to be, but again just another notice.

7. more of a feature request. a way to have it shut down the server before starting the sourcing and compiling? nothing big, but would be helpful for those that have slower systems and can't have both the server and compiler running.

I think thats pretty much it. sorry if its a burden, I just don't want to see such a great app get lost. its very useful, and makes it so much easier to focus on other parts of the server like content, without having to worry about getting the latest svn, or having to get up in the middle of the night and restart the server cause of lag lol.

thanx again.

nosfentora
09-01-2009, 03:25 PM
1. rules aren't showing up on the rules tab. I have it config'd for it to show them, but they just aren't showing up.


i've had this problem too every so often - it's an sql problem somewhere and i haven't been able to figure out where yet - and it's driving me nuts. is the app showing up what db_version and core_version you are running?


2. I started tinkering with the auto compiler, and had it compile, but after it compiled and restarted the server, I was my zones were failing to launch. wish I had the screenie for it, but unfortunately I forgot to get it before tryin to fix it. I recompiled under VS2008 and its working fine now. dunno if that was the apps problem or a fluke.


i'll check into that as soon as RL calms down - insane this week!


3. after it did the compile I was tryin to get it to update the binaries but it would crash when attempting (see code block below). basically it tries to move the new biniaries to the eqemu folder, but its trying to pull from svnroot/build folder, but the route to the new biniaries is svnroot/trunk/eqemuserver/build. don't know if you are aware of that or not. this causes an unhandled exception, cause it can't find the build folder, and crashes the app. I Just unchecked update binaries and conf and ran eqemu from the build folder, and it works good enough. just thought you should be aware of that.

output from debugging
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a 5c561934e089\mscorlib.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Users\Public\New Folder\source\trunk\EQEmuServer\Build\ServerTender .exe'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasi c\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic. dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a 5c561934e089\System.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms \2.0.0.0__b77a5c561934e089\System.Windows.Forms.dl l'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0 .0__b03f5f7f11d50a3a\System.Drawing.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Configuration \2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dl l'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__ b77a5c561934e089\System.Xml.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Runtime.Remot ing\2.0.0.0__b77a5c561934e089\System.Runtime.Remot ing.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Users\Public\New Folder\source\trunk\EQEmuServer\Build\MySql.Data.d ll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b 77a5c561934e089\System.Data.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Transactions\2. 0.0.0__b77a5c561934e089\System.Transactions.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.EnterpriseServi ces\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseSer vices.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0_ _b77a5c561934e089\System.Core.dll'
An unhandled exception of type 'System.IO.DirectoryNotFoundException' occurred in mscorlib.dll

Additional information: Could not find a part of the path 'C:\Users\Public\New Folder\source\Build'.



you should be able to point the OPTIONS -> Server Maintenance -> SVN -> Update Source Code field to the correct folder that contains 'Server.sln'

in your case I believe its
'C:\Users\Public\New Folder\source\trunk\EQEmuServer'

No other folder structure has changed, the resulting build should be in
C:\Users\Public\New Folder\source\trunk\EQEmuServer\build

also - make sure you're building RELEASE or RELEASE BOTS!

It looks like you have it pointed to
'C:\Users\Public\New Folder\source'


4. broadcast works, but then closes the window. no debug info for it, but thats all it does lol.


The broadcast feature is supposed to broadcast what you type in the box when you hit 'broadcast now', it runs telnet, broadcasts, and closes.
You're not seeing anything in game?


5. idk if this supports the new ucs, or if the mail/chat server IS the ucs. sorry couldn't find a whole lot of info on it. but if its not, is there a way to update it to support the new ucs for SoF?


The chatserver checkbox is the new ucs, uncheck the mailserver checkbox and check the chatserver checkbox.


6. bots.sql isn't being sourced in when its updated. just another notice, dunno how indepth you were wanting the sourcing to be, but again just another notice.


that's related to #1. try sourcing in a file via command line
mysql -u'username' -p'pass' -h'server ip - usually 127.0.0.1' 'db name' < 'sql_file.sql'

ie

mysql -uroot -pmypass -h127.0.0.1 peq < db_version.sql

see if it works - that's how my app runs the db sourcing - using a batch file (source.bat)


7. more of a feature request. a way to have it shut down the server before starting the sourcing and compiling? nothing big, but would be helpful for those that have slower systems and can't have both the server and compiler running.


That's a good idea - i'll work on it when i can!


I think thats pretty much it. sorry if its a burden, I just don't want to see such a great app get lost. its very useful, and makes it so much easier to focus on other parts of the server like content, without having to worry about getting the latest svn, or having to get up in the middle of the night and restart the server cause of lag lol.
thanx again.


You're welcome - and not a burden! good feedback is always appreciated!

nightsta69
09-01-2009, 03:38 PM
i've had this problem too every so often - it's an sql problem somewhere and i haven't been able to figure out where yet - and it's driving me nuts. is the app showing up what db_version and core_version you are running?



i'll check into that as soon as RL calms down - insane this week!



you should be able to point the OPTIONS -> Server Maintenance -> SVN -> Update Source Code field to the correct folder that contains 'Server.sln'

in your case I believe its
'C:\Users\Public\New Folder\source\trunk\EQEmuServer'

No other folder structure has changed, the resulting build should be in
C:\Users\Public\New Folder\source\trunk\EQEmuServer\build

also - make sure you're building RELEASE or RELEASE BOTS!

It looks like you have it pointed to
'C:\Users\Public\New Folder\source'



The broadcast feature is supposed to broadcast what you type in the box when you hit 'broadcast now', it runs telnet, broadcasts, and closes.
You're not seeing anything in game?



The chatserver checkbox is the new ucs, uncheck the mailserver checkbox and check the chatserver checkbox.



that's related to #1. try sourcing in a file via command line
mysql -u'username' -p'pass' -h'server ip - usually 127.0.0.1' 'db name' < 'sql_file.sql'

ie

mysql -uroot -pmypass -h127.0.0.1 peq < db_version.sql

see if it works - that's how my app runs the db sourcing - using a batch file (source.bat)



That's a good idea - i'll work on it when i can!



You're welcome - and not a burden! good feedback is always appreciated!

1. under the rules tab all i'm seeing is 1 and default in the left hand box. everything else is empty.

2. no rush, RL always more important then server stuff. unless RL is server stuff lol.

3. sorry my stupidity there. lack of sleep kicking in lol.

4.no what happens is i'll type in what I want to broadcast. it'll broadcast, then the app window closes. its still shows its runnng in processes. but no GUI.

5. ty for clarification on the ucs.

6.will definitely try that. wasn't too sure how to go about that. my skills for mysql is slightly lacking, I know enough to work on content and such, but I mostly do stuff thru navicat, not command line.

7.always glad to help improve and alrdy great app.

if I find more, i'll definitely post it here.

thanx.

edit:: something else I found odd. I manually closed out world and eqlaunch just to see if it would restart, its been sittin for idk, maybe an hour and hasn't restarted them. dunno if you have it programmed only to detect if it crashed, or if it'll detect the windows bein manually closed out as well and restart the windows.

nosfentora
09-01-2009, 04:08 PM
1. under the rules tab all i'm seeing is 1 and default in the left hand box. everything else is empty.


ahh! so they are loading! i feel better now!

try double clicking on '1' or 'default'.
it only loads them when you double click on them - allows multiple rule sets to be used / managed.


2. no rush, RL always more important then server stuff. unless RL is server stuff lol.


thanks! kids =)


3. sorry my stupidity there. lack of sleep kicking in lol.


it happens ;)


4.no what happens is i'll type in what I want to broadcast. it'll broadcast, then the app window closes. its still shows its runnng in processes. but no GUI.


so the server tender app is closing? sounds like the app is gaining focus and catching the alt + f4 closing keystrokes.
You might want to do what i suggested earlier - open my source, find 'Private Sub BroadcastNow', change broadcast3(msg) to broadcast1(msg) and recompile.
That will use sockets instead of telnet and sendkeys.


5. ty for clarification on the ucs.


NP. sorry it was confusing! This was built before the UCS had taken effect and the separate mailserver was removed.


6.will definitely try that. wasn't too sure how to go about that. my skills for mysql is slightly lacking, I know enough to work on content and such, but I mostly do stuff thru navicat, not command line.


it's a good skill to learn and not really that hard.


7.always glad to help improve and alrdy great app.

if I find more, i'll definitely post it here.

thanx.


thank you!


edit:: something else I found odd. I manually closed out world and eqlaunch just to see if it would restart, its been sittin for idk, maybe an hour and hasn't restarted them. dunno if you have it programmed only to detect if it crashed, or if it'll detect the windows bein manually closed out as well and restart the windows.


manually closed meaning...? (the english language is open to such lovely interpretation!)

the app will close any crashed apps, it doesn't restart them if they crash (world takes care of re-starting zones that crash.)

(i know false advertising! the title of this is 'world crash rebooter', and my app doesn't restart a crashed world! That'll be in the next rev when i can - i haven't had a world crash in quite a while so i put that on the back burner in preference to other features)

nosfentora
09-01-2009, 04:16 PM
Also - multiple zone launchers can be used by adding new entries to the launcher and launcher_zones table.

(its the reason why if you shut down the app and restart it without shutting down the server, the eqlaunch uptime timer doesn't start - it doesn't know which launcher is which) i'll be fixing that in the future too.

so much code so little time...

nightsta69
09-01-2009, 04:22 PM
try double clicking on '1' or 'default'.
it only loads them when you double click on them - allows multiple rule sets to be used / managed.
yep that worked, didn't know to double click lol


so the server tender app is closing? sounds like the app is gaining focus and catching the alt + f4 closing keystrokes.
You might want to do what i suggested earlier - open my source, find 'Private Sub BroadcastNow', change broadcast3(msg) to broadcast1(msg) and recompile.
That will use sockets instead of telnet and sendkeys.
will try this probably tonight, after I get some sleep.

NP. sorry it was confusing! This was built before the UCS had taken effect and the separate mailserver was removed.
its no biggie. just wantin to help get it up to date

it's a good skill to learn and not really that hard.
yea i'm workin on it, slowly lol.


manually closed meaning...? (the english language is open to such lovely interpretation!)

the app will close any crashed apps, it doesn't restart them if they crash (world takes care of re-starting zones that crash.)
IE clicking the x in the corner of world and eqlauncher. but you cleared that up.


if I come up with more ideas to help improve this I will definitely let you know. I can always come up with the ideas, but I just can't code for crap lol.

nosfentora
09-01-2009, 04:54 PM
Always on the lookout for ideas! =)

nightsta69
09-04-2009, 04:29 PM
1. another problem I found. if you have a pre-existing peqdb-revxxx.sql in your database SVN folder, that is already unpacked (IE unzipped and placed in the peq-db SVN folder). when it drops the tables, it will source the previous db version in first, then it will try to source the new version in, but since the tables already exists from sourcing the old sql, it will come up with an error. maybe you could have it delete the new peq-db.sql after it sources so that wouldn't be a problem?

2. i've been watching the auto rebooter for the past several days, and I don't believe its closing out the old world/zone exe's before starting new ones up, when you have it set to auto reboot every 24 hours.

3. when it goes to shut down, it doesn't broadcast "30 mins til server reboot" or any subsequent messages at the correct times. all it does is broadcast the 30 mins, then immediately kills the server. i've noticed that several times, and normally it does this about 4-5 mins early. dunno if thats intended or not. /shrug

think thats it for now. hope this helps you fix it up.

thanx

nightsta69
09-04-2009, 05:01 PM
ok found an update to #2 of previous post. what its doing is closing everything but the eqlaunch down, and then starting up another eqlaunch, and it keeps adding and removing launchers to world. still doing debugging on it atm, wish I could just edit my posts cause this mass posting just doesn't seem right lol.

nosfentora
09-07-2009, 02:54 PM
yea i just noticed that - i dev'd it in xp and did some quick tests with vista and it seemed to work.

i think it's not working for you cuz serv 2008 is vista based (or vice versa).
you might try changing the shutdown option from "send ctrl+c" to "kill processes directly"

see if that works for the time being.

As far as the old sql's go, i need to look at the code again and see how it searches/sources. i think you may be right as it might be looking for the 1st .gz /sql file it finds.

thanks for the heads up!

nightsta69
09-09-2009, 05:43 AM
just to let you know, killing the process directly fixed the issue of eqlaunch not shutting down. I have another feature request tho if you don't mind. could you make an option to lock world when it restarts? cause one of the things i've noticed is when world restarts its doesn't retain its locked status. my server is still in development, and I don't want people coming on until I release it from alpha stages. plus I would think that would be a good feature for the restarter to have.

thanx

nosfentora
09-09-2009, 08:55 AM
That's set in your eqemu_config.xml file

change

<!-- Server status. Default is unlocked -->
<unlocked/>
<!-- <locked/> -->
to


<!-- Server status. Default is unlocked -->
<!-- <unlocked/> -->
<locked/>


and set your status in your account table to >= 250 and you can log in.
anyone else you want in, you'll need to set their status accordingly.

nosfentora
09-09-2009, 08:57 AM
I can probably code something to lock/unlock via a button or option in the next release, as, after thinking about it, it's not a bad idea!

nightsta69
09-13-2009, 12:59 PM
was just wondering if there was an update in the works for this program? can't wait to see it, and test it out.

nightsta69
09-14-2009, 01:22 AM
[9/13/2009 - 3:15 PM] Error checking updates.
System.InvalidCastException: Conversion from string "" to type 'Integer' is not valid. ---> System.FormatException: Input string was not in a correct format.
at Microsoft.VisualBasic.CompilerServices.Conversions .ParseDouble(String Value, NumberFormatInfo NumberFormat)
at Microsoft.VisualBasic.CompilerServices.Conversions .ToInteger(String Value)
--- End of inner exception stack trace ---
at Microsoft.VisualBasic.CompilerServices.Conversions .ToInteger(String Value)
at ServerTender.Form1.GetVersionNumber(String f)
at ServerTender.Form1.UpdateFromSVNNow()


i'm getting this error when it trys to source the eqemu source sqls. i'd try to fix it but its a little bit beyond my capabilities.

nosfentora
09-14-2009, 08:08 AM
I'll do my best to get to it this week!

nightsta69
09-14-2009, 08:28 AM
awesome, no rush, was just curious. hadn't heard anything about it in a while. and am hoping that everything i'm doin will help out in the long run.

nosfentora
09-21-2009, 11:05 AM
Thanks for your patience - RL is calling! =)
I'll get to it asap. If you have any more ideas in the meantime, keep on adding them.

nightsta69
10-03-2009, 10:08 AM
new feature request. ability to load zones as static zones, maybe have it look in launcher_zones table, and launch a zone.exe based on the info inside it? or have it able to launch a bat file that can be config'd for static zones. first one would look prettier to go along with the whole concept of the restarter doing everything, latter would probably be easier /shrug. up to yas

nosfentora
10-05-2009, 03:53 PM
it supports use of static and dynamic zones already. it looks in the launcher table - you can do something like:

In the launcher table:
dynamic 5
static 0

In the launcher_zones table
static halas 7000
static paineel 7001

etc

when you run the app, you will see both 'dynamic' and 'static' launchers listed in under world / chatserver/ mailserver.

is that what you were looking for?

nightsta69
10-05-2009, 06:34 PM
yep, exactly what I was lookin for, ty much.

nightsta69
10-08-2009, 08:01 AM
new feature request. say you want to shut down there server, (for update, whatever reason) be able to put in a block how many mins to wait and quick msg broadcasted why, to shut down. then do the broadcast at whatever interval,(every 5 mins or somethin like that) then shut down after specified time. this would be seperate from the whole automated restart sequence. for instances when you need to do a quick restart to apply something, but want to give people ample enough time to get off.

Shin Noir
10-08-2009, 08:21 AM
you can shell script a world crash rebooter.
Not sure about windows.

nightsta69
10-08-2009, 08:30 AM
i know about as much about linux, as I do about the internal workings of a biological specimen on the surface of mars lol. i've dabbled in linux, but windows just makes things to much easier. yea I know, takin the lazy way, but /shrug this is just a hobbie. :D

rjk83
11-26-2010, 09:51 PM
I realize it's over a year since anyone has posted too it but I see that it is still stickied. The links seem to be broken but this tool sounds great, is this available mirrored somewhere? (maybe I'm doing it wrong :P )

nosfentora
11-30-2010, 03:07 PM
Unfortunately I lost the source to this to a server crash. I was planning on re-writing it from scratch anyhow, but haven't had the time. If nightsta69 is still around, maybe he can provide you (and me?!) with the source / compiled ver.

rjk83
12-02-2010, 02:12 PM
That sucks about the server crash :( . Thanks anyways. It sounds like an awesome tool. Good job on it :)

chrsschb
10-23-2014, 09:31 AM
Can we unsticky tools like these that have had zero updates in years?