![]() |
CLI for probing turn status
Hi,
Does someone know if there is a CLI option to probe a DOM-III tcp server turn status?- I really miss the "gods-eye" utility for dom-II and until there is (hopefully) one for dom-III this command (if exists) will be very handy. I have multiple computers and every now and again when I check the turn status I get my turn wiped out (when a blank turn is uploaded instead of a full one). TIA |
Re: CLI for probing turn status
I would like to know this too. What I'm using in the meantime is writing the events out to a logfile, then reading it and parsing it for info.
I also add player names, but of course that all takes manual setup upfront. Let me know if you want the script though (and happen to be running PHP on your server http://forum.shrapnelgames.com/images/smilies/wink.gif. |
Re: CLI for probing turn status
Can this script run from the client side?
I'm afraid I didn't quite get the part about events, what events are those exactly? |
Re: CLI for probing turn status
If you have logging turned on and going to a file then doing a "tail" of that log shows this....
Fast2, Connections 1, Time 21h (quick host) Er- Ul- Ti- Mi- Ct- *Yom- That says no one has done the turn (the - changes to a + when a turn is turned in) and it shows that Yom is connected. There is alot of info there. Just a CGI to tail -1 of the log shouldnt be hard. Parsing that into an html wouldnt be too difficult either. Adding abit of scripting to change it into something more readable might even be fun. Adding icons for all of the nation flags and turning them into flags with an X on it, adding the chain links for a connection, etc so that it looks like people see at their end would be possible. Adding a countdown clock till the next hosting, adding clouds or frowny faces to the ones that are close to getting a stale turn, all of that would be possible. Insane, but possible. |
Re: CLI for probing turn status
Thanks Gandalf, your suggestion sounds simple to do, but it requires adding things (CGI for example) and not supported off the shelf so to speak.
I wonder how did the god's eye client work, I could have figured this out had I had access to its source code (I would guess its Java). Or maybe I can ask the its author, does anyone recall whom might he be? |
Re: CLI for probing turn status
Sorry. I tend to think of hosting as a linux server (CGI isnt something you add, its part of web pages)
If you let me know the OS I can answer more exactly. Are you wanting something you can click on in windows that checks the host without having to load Dominions? |
Re: CLI for probing turn status
1 Attachment(s)
Quote:
http://www.shrapnelcommunity.com/thr...9-goodseye.png |
Re: CLI for probing turn status
Yep, that's what I'm doing, works pretty well. As was said however, it does require scripting and hosting on the client side.
You could write that logfile out and just put it in a publicly accessible webdir as a very crude method of getting feedback with no scripting. |
Re: CLI for probing turn status
Quote:
Assuming my OS os windows, I want what you said: something the checks the host w/o loading dominions. Is that feasible? (God's eye suggest the answer is yes). Had I know the details of the protocol I could have done this manually with telnet, or write a smallish script that does the same automatically. |
Re: CLI for probing turn status
@MacrinM, please correct me if I'm wrong but as I understand what you're doing is not similar to god's eye. What you're doing is server side and you allow players to see status by web. God's eye is a client that "talks" to the dominions server and report back to the player, all this w/o ever loading dominions. This is what I'm looking for.
|
Re: CLI for probing turn status
Yes, sorry, my "yes, that's what I'm doing" was supposed to follow a quote from Gandalf Parker. Sorry for the confusion.
Sounds like you need to solicit the devs or Mr. Shoeller, as both of our solutions rely on making the logfile web-accessible. |
Re: CLI for probing turn status
Dear IW devs, if you by chance happen to read this and are agreeable to disclose this information I for one, would really appreciate it (and I think whatever script I'll come up with may be useful for other players).
Of course, you may have your reasons not to want to disclose this, this perfectly understandable. Ahmm, come to think of this, I can probably get this information by myself (low level net. protos. + crypto is what brings food to my table http://forum.shrapnelgames.com/images/smilies/wink.gif ), but I won't do so without an explicit permission. Anyways, its just a nice to have thing. I guess I'll let it drop. |
Re: CLI for probing turn status
Ever get an answer for this, WraithLord? Or anyone discover anything?
|
Re: CLI for probing turn status
I did an ethereal capture just to see if any obvious information was in ascii or otherwise visible but it doesn't look like it.
If Illwinter wants to provide the protocol information just for the game status packets I could quite easily whip up something that would probe a server for game status but I don't have the time to try decoding their protocol the hard way. I've got more valuable things to do with my time, like playing Dominions! |
Re: CLI for probing turn status
IW has been generous enough to help with the protocol details, and I'm almost done with a small utility that checks the turn status, I'll post it here when its complete.
I don't care much for GUI (that is, I care, but I'm little fond of writing it), so I gave it a CLI interface. |
Re: CLI for probing turn status
Those protocol details posted anywhere public?
|
Re: CLI for probing turn status
Not AFAIK.
|
Re: CLI for probing turn status
// ------------------------------------------
// ------------ Packet Description ---------- // ------------------------------------------ /* 1 char 102 (magic) 1 char 72 (magic) 1 int data length (x bytes) x bytes packet data All short and ints are sent in little endian (x86) format. Least significant byte first! */ /* Keep alive byte 1 char 101 (magic) Sometimes the server might send out this byte instead of a proper packet to check if connections are still up. It should be silently ignored. */ // ------------------------------------------ // ----- important packets to server -------- // ------------------------------------------ /* Info request. Requests a status update from the server. 1 char 3 */ /* Disconnect. Send this and wait for reply before disconnecting. 1 char 11 */ // ------------------------------------------ // ----- important packets from server ------ // ------------------------------------------ /* Status update. 1 char 4 1 int network protocol version 1 char status (2=waiting) 1 str game name 1 char era (new in dom3) 1 char magic = 45 (new in dom3) 1 int ms left till host time 1 str message from host (unused) P chars players controlled by (0=no one 1=human 2=AI) P chars nationstatus P chars connected or not 1 int turn nbr 1 char 0 */ /* Disconnect reply. Wait for this before disconnecting. 1 char 12 */ P = max number of nations = 80 |
Re: CLI for probing turn status
OK I was right. I wont be creating anything with that. http://forum.shrapnelgames.com/images/smilies/happy.gif
|
Re: CLI for probing turn status
If you are interested in doing something similar I could post the details for the game status retrieving part here.
|
Re: CLI for probing turn status
Im curious about it.
I doubt if Id be capable of programming anything to it at my level of programming but until I see the protocol I wont know. |
Re: CLI for probing turn status
Quote:
|
Re: CLI for probing turn status
Me too.
|
Re: CLI for probing turn status
Awright, I got the server to talk to me, but I don't get the way the packet is constructed. I can see the name of the game, then a couple of zeros, then the magic 45 char, ... and then about 200 characters that don't make any sense to me, followed by the # of the turn.
How do I figure out what in those 200 corresponds to what nation, how it's controller and its connection status? Thanks. |
Re: CLI for probing turn status
|
Re: CLI for probing turn status
-10 points for reading comprehension.
I do not understand how: 1 int ms left till host time 1 str message from host (unused) P chars players controlled by (0=no one 1=human 2=AI) P chars nationstatus P chars connected or not maps to ~200 assorted zeros and ones. That is what I need a bit of help with. |
Re: CLI for probing turn status
http://forum.shrapnelgames.com/images/smilies/happy.gif
I think it should be ~260. If you get 200 bytes response most likely something has gone wrong. |
Re: CLI for probing turn status
Go on .....
|
Re: CLI for probing turn status
3*P = 3*80 = 240 assorted zeroes and ones. "1 str message..." is just one byte (a zero).
|
Re: CLI for probing turn status
Oh, I think I figured it out. I should have looked at this in the first place:
http://www.dom3minions.com/docs/nations.txt All is clear now (I think). |
Re: CLI for probing turn status
Good, then I won't have to answer your PM.
|
Re: CLI for probing turn status
Quote:
Thanks Matt |
Re: CLI for probing turn status
<font class="small">Code:</font><hr /><pre>
EA 0 Arcoscephale EA 1 Ermor EA 2 Ulm EA 3 Marverni EA 4 Sauromatia EA 5 T'ien Ch'i EA 7 Mictlan EA 8 Abysia EA 9 Caelum EA 10 C'tis EA 11 Pangaea EA 12 Agartha EA 13 Tir na n'Og EA 14 Fomoria EA 15 Vanheim EA 16 Helheim EA 17 Niefelheim EA 18 Kailasa EA 19 Yomi EA 20 Hinnom EA 21 SEA Atlantis EA 22 SEA R'lyeh EA 26 SEA Oceania EA 68 Lanka MA 27 Arcoscephale MA 28 Ermor MA 29 Pythium MA 30 Man MA 31 Ulm MA 32 Marignon MA 33 Mictlan MA 34 T'ien Ch'i MA 35 Machaka MA 36 Agartha MA 37 Abysia MA 38 Caelum MA 39 C'tis MA 40 Pangaea MA 41 Vanheim MA 42 Jotunheim MA 43 Bandar Log MA 44 Shinuyama MA 45 Ashdod MA 46 SEA Atlantis MA 47 SEA R'lyeh MA 48 SEA Oceania MA 69 Eriu LA 49 Arcoscephale LA 50 Ermor LA 51 Man LA 52 Ulm LA 53 Marignon LA 54 Mictlan LA 55 T'ien Ch'i LA 56 Jomon LA 57 Agartha LA 58 Abysia LA 59 Caelum LA 60 C'tis LA 61 Pangaea LA 62 Midgard LA 63 Utgard LA 64 Patala LA 65 Gath LA 66 Atlantis LA 67 SEA R'lyeh LA 70 Pythium LA 71 Bogarus </pre><hr /> |
Re: CLI for probing turn status
You are completely awesome, thanks.
Is that in some file somewhere I just didn't know where to look? For future reference. http://forum.shrapnelgames.com/images/smilies/happy.gif |
Re: CLI for probing turn status
Well, the mod manual PDF in the dom3 \doc directory has most of it, except for the nations that have been added since the game was released. For those I guess you just have to start up the game and look at the list of displayed nations for each era, and interpolate.
Good job, Ballbarian, on pulling together a complete list so quickly. http://forum.shrapnelgames.com/images/smilies/happy.gif It's useful to those who are AFG like me. -Max |
Re: CLI for probing turn status
Quote:
|
Re: CLI for probing turn status
Quote:
|
All times are GMT -4. The time now is 05:24 AM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.