Yaga

Wurmstatus - Tool Showing Server Status Information

Recommended Posts

Ok since you are not open for constructive criticism

Whoa - easy, mate! :)

 

Don't get me wrong. I appreciate any input and feedback, as long as it is constructive and based on valid assumptions. I'm not saying that your suggestions are false or your ideas are wrong - in my reply I was only trying to explain why I programmed the tool the way I did.

 

Actually, your suggestion to use only the information present in the Golden Valley XML is a nice and easy simple solution for a tool which shows the number of players on each server and if they are up and down. Doing it like that would indeed result in a small and simple program. Great!

 

However, WurmStatus does more than that. Let me try to explain again:

 

In the past years we encountered situations where

 

- the in-game time was significantly different on some servers (the difference amounting to many hours - probably due to synchronization problems)

 

- the game servers themselves were up and running while the login server was down (i.e. you could play, but nobody was able to logon during that period).

 

Therefore, WurmStatus was actually used as a diagnostic tool by some GMs, because it collects data not only from the login server but from all the other info pages as well. So, it is not only about a list of servers and their on/off status. (Did you notice, for example, that you can see the latest in-game status message of each server when hovering the mouse over a server name?)

 

For example, in this screenshot you can see that each server has its own uptime (check Xanadu, for instance, which was rebooted 1 day later than the others):

 

D2SOjZZ.png

 

I still don't see that you can extract this information (Xanadu uptime, in this example) from the XML file provided under http://jenn001.game.wurmonline.com/battles/stats.xml. (Yes, I do know how to extract the information... ;) )

 

I hope I was able to explain why WurmStatus does more than you probably assume it does.

 

And, please, there is no need for non-constructive personal attacks:

 

.... You are doing it wrong ... if you dont know how to obtain, that is your problem.

Let's try to discuss things in a friendly and polite way :)

Thank you once again for your input and feedback.

Edited by Yaga
  • Like 4

Share this post


Link to post
Share on other sites

Im sorry if it look like that.


 


Ok, on IDA i didnt notice that each one had his own url, my mistake, i just though you initialice your server struct with the same url for each , now we are understanding both.


 


But, each server have his own xml file, the process is the same as i did on that script but fetching those data from each one.



http://jenn001.game.wurmonline.com/battles/stats.xml
http://freedom001.game.wurmonline.com/battles/stats.xml
http://freedom002.game.wurmonline.com/battles/stats.xml
http://freedom003.game.wurmonline.com/battles/stats.xml
http://freedom004.game.wurmonline.com/battles/stats.xml
http://freedom005.game.wurmonline.com/battles/stats.xml
http://freedom006.game.wurmonline.com/battles/stats.xml
http://freedom007.game.wurmonline.com/battles/stats.xml
http://wild001.game.wurmonline.com/battles/stats.xml
http://elevation.wurmonline.com/battles/stats.xml

Then users that use XP for example dont have to mess with an unsupported dll.


 


Check this out: http://pastebin.com/hcr44UMF


 


EDIT:


I made this example for you, so you can see an easy threading implementation(on C#), so app wont flicker again and wont be stucked when loading data.


 


http://pastebin.com/BnVsTQcH


Edited by Sophorino
  • Like 1

Share this post


Link to post
Share on other sites

Thanks. I'll try to consider your suggestions in one of the next updates. (I don't like that DLL either ;) )


  • Like 2

Share this post


Link to post
Share on other sites

BTW thanks for doing this project for ..... over 3 years !!!        :wub:


  • Like 3

Share this post


Link to post
Share on other sites

Thanks. I'll try to consider your suggestions in one of the next updates. (I don't like that DLL either ;) )

 

No problem, my mistake, i apologize for it, i didnt wanted to look like it seems like it looked.

 

Im not so much friendly with external dll´s if i dont have the controll over them(Open Source).

Share this post


Link to post
Share on other sites

Sophorino, you should try to be more friendly with your "advice" or "suggestions". Coming here and starting bashing Yaga's work (which, btw, is given away free to the community) is pretty sad. There's a big coding community here and I'm sure all of us can learn a few things from the rest, but education and good manners are always important.


 


On the other hand, parsing server info directly from the xml with a DOM parser or manually from the html page is kinda irrelevant at this scale... The important thing is Yaga made this for all of us and, personally, I'm grateful. Thanks for your work, Yaga


  • Like 2

Share this post


Link to post
Share on other sites

I dont want to make this a drama thread, i only made a mistake and i apologized for that, english is not my main language but i think i didnt use a greedy word, go analize my post and read in a calm way, my only words that was a bit "high" was "Ok since you are not open for constructive criticism", he send me a PM that you didnt read and wont read cause its private.


 


I didnt bash anybody.


 


I readed this thread and saw that so much people couldnt run this cause that dll, so yeah its relevant do it in a native way, also make the collecting data process over another thread fix flickering and application getting stucked, so yes is relevant.


 


I know he made this for free and i like it, i applause it, its the good spirit, but as the same time there was a better way of doing it and im giving away it too, its called share.


 


Mistakes happend.


Share this post


Link to post
Share on other sites

I made this example for you, so you can see an easy threading implementation(on C#), so app wont flicker again and wont be stucked when loading data.

I am not aware of these problems, so I would like to follow this up. Who has flickering/freezing problems with one of the latest versions? I don't see any flickering (maybe except while the list is filled with new data - which is OK), and it never seems stuck here. So, if some of you have these problems, please tell me, so I can change it.

Share this post


Link to post
Share on other sites

I think it is about moving loading of server list from GUI thread to dedicated thread, and then - when it collected all needed data - merging it with GUI thread. I am not sure how this looks in C#, but should be very easy to implement, in best case by adding few lines of code.

Share this post


Link to post
Share on other sites

I think it is about moving loading of server list from GUI thread to dedicated thread, and then - when it collected all needed data - merging it with GUI thread. I am not sure how this looks in C#, but should be very easy to implement, in best case by adding few lines of code.

Share this post


Link to post
Share on other sites

WurmStatus V3 is here!

 

The new version now displays the current wind situation in its header area:

 

TxypPRW.png

 

It will also check for available program updates at startup and will give you the option to download the latest version:

 

uxhloEn.png

 

WurmStatus V3 can be downloaded here: https://dl.dropbox.com/s/hxmvj5chyzhzzvz/WurmStatus300.zip

  • Like 1

Share this post


Link to post
Share on other sites

When launching WurmStatus V3 in Windows 10 you may run into this:

 

e4V69VR.png

 

This is because Windows is picky about executable files it doesn't know. You can click on "More info" and select "Run anyway" to bypass.

  • Like 1

Share this post


Link to post
Share on other sites
6 minutes ago, Yaga said:

When launching WurmStatus V3 in Windows 10 you may run into this:

 

e4V69VR.png

 

This is because Windows is picky about executable files it doesn't know. You can click on "More info" and select "Run anyway" to bypass.

 

Good (not that) old Windows 10, knowing what is best for user better than user himself... :)

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, Tomatoes said:

@Yagai dont suppose you are keeping this updated???

 

It's still working for me - in fact I use it frequently. Is there an issue that should be addressed?

 

Share this post


Link to post
Share on other sites

with both clock and status i have .net exceptions if they are left running too long. ill copy logs and send them to you if needed.

Share this post


Link to post
Share on other sites
8 hours ago, Tomatoes said:

ill copy logs and send them to you if needed

 

Please do.

Share this post


Link to post
Share on other sites

here is the crash log for wurmstatus... ill post one for wurmclock in its thread

 

 

Spoiler

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at ‮‮‏‪‌‪‌‎‭‮‫‍‏‌‎‫‪‍‫‫‮.‫‎‬‪‪‎‫‫‬‍‪‌‪‎‎‭‏‍‮(Int32 )
   at ‮‮‏‪‌‪‌‎‭‮‫‍‏‌‎‫‪‍‫‫‮.‪‪‫‏‎‌‍‬‪‬‮‫‮‍‏‏‮‭‌‎‮()
   at ‮‮‏‪‌‪‌‎‭‮‫‍‏‌‎‫‪‍‫‫‮.‎‮‍‮‫‫‏‎‭‭‌‎‮‌‍‎‌‎‪‏‍‭‮‍‫‮(Object , EventArgs )
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
WurmStatus
    Assembly Version: 3.0.0.0
    Win32 Version: 3.0.0.0
    CodeBase: file:///C:/Users/alysher/Desktop/WurmStatus.exe
----------------------------------------
ppXImevRIIjJQNmllUHzBghtpFo
    Assembly Version: 0.0.0.0
    Win32 Version: 3.0.0.0
    CodeBase: file:///C:/Users/alysher/Desktop/WurmStatus.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3353.0 built by: NET472REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.3190.0 built by: NET472REL1LAST_C

 

Edited by Tomatoes
  • Like 1

Share this post


Link to post
Share on other sites

Man, this app brings back old memories.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now