EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Tools (https://www.eqemulator.org/forums/forumdisplay.php?f=593)
-   -   World Crash Rebooter (https://www.eqemulator.org/forums/showthread.php?t=24621)

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
Code:

'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\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.VisualBasic\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'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.dll'
'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.Remoting\2.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Users\Public\New Folder\source\trunk\EQEmuServer\Build\MySql.Data.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\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.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.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

Quote:

Originally Posted by nightsta69 (Post 177744)
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?

Quote:

Originally Posted by nightsta69 (Post 177744)
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!

Quote:

Originally Posted by nightsta69 (Post 177744)
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
Code:

'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\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.VisualBasic\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'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.dll'
'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.Remoting\2.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Users\Public\New Folder\source\trunk\EQEmuServer\Build\MySql.Data.dll'
'ServerTender.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\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.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.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'

Quote:

Originally Posted by nightsta69 (Post 177744)
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?

Quote:

Originally Posted by nightsta69 (Post 177744)
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.

Quote:

Originally Posted by nightsta69 (Post 177744)
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)

Quote:

Originally Posted by nightsta69 (Post 177744)
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!

Quote:

Originally Posted by nightsta69 (Post 177744)
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

Quote:

Originally Posted by nosfentora (Post 177745)
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

Quote:

Originally Posted by nightsta69 (Post 177746)
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.

Quote:

Originally Posted by nightsta69 (Post 177746)
2. no rush, RL always more important then server stuff. unless RL is server stuff lol.

thanks! kids =)

Quote:

Originally Posted by nightsta69 (Post 177746)
3. sorry my stupidity there. lack of sleep kicking in lol.

it happens ;)

Quote:

Originally Posted by nightsta69 (Post 177746)
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.

Quote:

Originally Posted by nightsta69 (Post 177746)
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.

Quote:

Originally Posted by nightsta69 (Post 177746)
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.

Quote:

Originally Posted by nightsta69 (Post 177746)
7.always glad to help improve and alrdy great app.

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

thanx.

thank you!

Quote:

Originally Posted by nightsta69 (Post 177746)
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

Quote:

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


Quote:

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.

Quote:

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

Quote:

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


Quote:

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
Code:

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

to

Code:

<!-- 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

Code:

[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?


All times are GMT -4. The time now is 01:31 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.