PoLiX Posted November 5, 2006 Report Posted November 5, 2006 So zones send out their data on port 4991. The zone initiates a connection, dir server responds, zone sends data, dir server acknowledges. Would it be possible to send the response to a server ip and get the zone data? or just even scan 4991 for any data being sent out? I know when I use to !@#$%^&* around with coding a biller, I was able to have a zone stand a lone, and then send data causing it to recycle and try to connect to me. This was years ago, and I don't remember what or how I did it, but was complete boredom and a few hrs of work. I understand this is something that wouldn't exactly be right to do, but just curious if anyone has ever tested this theory out.
»SOS Posted November 5, 2006 Report Posted November 5, 2006 It certainly is not possible to scan them for any data being sent out. If the server is coded stupidly (and it is, a lot of it) then it might be possible to steal the info by pretending to be the biller. This is quite a big hole, though, so I'm doubtful - even VIE coders could not have been this stupid Still, I have not tested anything.
»Maverick Posted November 5, 2006 Report Posted November 5, 2006 I don't really understand what you are trying to reach here. Do you want to make a program to poll a server for information or something?
»SOS Posted November 6, 2006 Report Posted November 6, 2006 Sorry, I had two protocols mixed. The server-directory comm is much simpler. The server just sends stuff to the directory. Nothing more. If I remember correctly, the directory server never sends anything back, so there is no way to exploit this.
PoLiX Posted November 13, 2006 Author Report Posted November 13, 2006 Actually, if I remember right, there is a "Hey, you there?" "yes" "Here's my info" "ok thanks got it". Probably would just end up crashing or confusing the zone like I did with the biller, lol. But was just an idea that popped into my head, a doubtful one, but eh. I'm more of a web guy than a programming guy, just know my way around, so always curious to ask.
Witchie NL Posted November 13, 2006 Report Posted November 13, 2006 "Hey, you there?" "yes" "Here's my info" "ok thanks got it". aka 3 sided handshake.
Smong Posted November 13, 2006 Report Posted November 13, 2006 This is from memory and a long time ago so is probably wrong, but I think subgame pushes the server info to the dirserv, then to save bandwidth periodically pings the dirserv instead of resending the info again. So if info is A and ping is B, with spacings of a few minutes it would look like:A B B B A B B BThe pings are a two-way thing, but the info is just fire and forget. ASSS just sends A's. Servers (dirserv) listen, clients (subgame) initiate connections. The only time a dirserv would initiate a connection is if it implemented the ability to clone another dirserv, in which case that section of the program is a client.
»Maverick Posted November 13, 2006 Report Posted November 13, 2006 Witchie, it's only 2-sided but please shut up. It's probably possible to code a custom directory server that receives the data from the subgame server in the way Smong mentioned? Only downside is that the directory server address must be in the address list of the subgame server. Are you planning on making a directory server, Polix?
Drake7707 Posted November 13, 2006 Report Posted November 13, 2006 Shouldn't it be more like For zone server - directory serverZS:"Hi"DS:"Hi, i don't know you, gimme your info"ZS:"I am zone name, other info blah"DS:"Ok" Then in regular intervalsDS:"You still there, if you are, how many players are you connected with"ZS:"Yup, nrPlayers" Then for continuum client - directory serverCC:"Hi, gimme a list of the zones you have"DS:"Here's the list" If a zone is down in the clientCC:"Hey, the zone is down here at this ip, is it still the correct one ?"DS:"Yes, i get connection timeouts here too" or "No, here's the correct ip"
»Maverick Posted November 13, 2006 Report Posted November 13, 2006 Yea, exactly but not for the last part.A client pings a server each to see if it's up and to get it's population. The subgame server returns its population if it's up.
Smong Posted November 13, 2006 Report Posted November 13, 2006 It's probably possible to code a custom directory server that receives the data from the subgame server in the way Smong mentioned?Yah, I was saying that's what the current system is like so people have already made dirservs like that.
Witchie NL Posted November 14, 2006 Report Posted November 14, 2006 Witchie, it's only 2-sided but please shut up. Ehm thats what ive learned on school 2 days ago?Client sends packet - biller sends package back - Client sends confirmation.
Smong Posted November 14, 2006 Report Posted November 14, 2006 We never said 3 sided handshake doesn't exist. We are discussing game server <-> directory server protocol.
Drake7707 Posted November 14, 2006 Report Posted November 14, 2006 confirmations are only done in the tcp protocol, udp has no verification of actual arrival of data, and is thus much faster for transactions, the con of it is you get packet loss. Edit: well not "much faster", but less data transfer which keeps the lag away for a bit longer.
»D1st0rt Posted November 15, 2006 Report Posted November 15, 2006 UDP is faster in that when the sending of a data chunk is taking forever, subsequent chunks don't have to wait for it to get there before being sent themselves. TCP also adds a header.
Recommended Posts