Jump to content
SubSpace Forum Network

Recommended Posts

Posted

Thier arnt many people who will probably know the exact answers to these questions, but hopefull I can get a response or two from those that do. Just so the answer-ee's are aware, these questions are related to better improving the compatability of SubChat2 with current versions of SubGame.

 

1) MachineID: At the moment, im using GetVolumeInformation to get the 32bit unsigned value of the serial number of drive C. Then if the unsigned value is greater than 0x7FFFFFFF (Negitive if it were signed) add 0x7FFFFFFF to it (Makes it positive if it were signed). (Avoids netban #1, or is it #0? cant remember). This is the same method Merv uses, but is it the same as Continuum uses? My goal would be for SubChat2 to generate exactly the same MachindID as Continuum for the purposes of tracking identification and bans.

 

2) BigChunk sending, namely, *putfile file sending. The chunks are obviously smaller than 520 bytes in size (500 bytes just to make things even in SubChat2). How often should they be sent? At the moment thier sending one every 80ms or so. What kind of data rate is too fast for SubGame? Does it realy matter? Can they be sent safely every 10ms without causing a bottleneck. I believe if I remember correctly that SubGame is single threaded and has to handle all incoming packets of all clients. Im sure it probably uses an infinite while loop with a blocking call to winsock for data reception, but still. With 500 byte chunks at 80ms per packet, it takes awhile to upload a good sized LVZ.

 

3) PermisionID: What in the holy heck should this be based off of and what is its purpose? At the moment its somewhat random using a few constants and TickTime at every client connect. Is this something that should be generated once and used repeatedly? Does it matter? Is it used for ban identification? My purpose here is to make sure that no one can byp!@#$%^&* bans (namely net bans) by using the client. Although why anyone would add someone to the VIP.TXT who has been netbanned and not to a local banfree is well beyond me ^^, but im a perfectionist, what can I say?

 

Thats all I can think of at the moment, I think there were a few other things that were left uncertain in my understanding of the protocol, but I cant remember what they were. If anyone has any resources where I might find the answer or would like to answer in a reply I would appreciate it. Thanks in advance.

 

Admiral Kirk

Posted

Hey kirk, long time no see

 

1) If i remember correctly from a machineID randomizer, i was able to change my macid in Continuum 0.36. So yes, continuum does uses or used to (i need to get up to date) GetVolumeInformation.

 

3) Permission ID, it's obsolete or non-important if i remember. I don't recall correctly but it might be tied to *kill ban or permission. Anyway, you could generate it unique for each user and leave it constant.

Posted

The permissionid for everyone in hyperspace when I checked was 0, and ASSS !@#$%^&*igns chatnet clients a macid of 101 if thats of any help to you.

 

TWCore sends big chunks reliably, I would assume you'd have to or not all of your file would be uploaded :ph34r:

Posted
Ya, I figured since BigChunks came in reliably that they went out reliably as well. I just cant seam to send the packets as out to subgame as fast as it sends them to the client without running into problems. When the send rate reaches around 20KB/s (about the spead SubGame seams to send to my client and to Continuum) many people report the file does not reach the server or the server doesnt acknowledge its reception of the file. Perhaps BigChunk sending speed is adaptive based on lag or connection type? I wouldnt think that 40 packets per second wouldnt be all that much to contend with ^^. And im not quite sure why SubGame might not be recieving the files on slower connections since thier sent reliably.
Posted
I think it was once mentioned, 12kb/s is the fastest stable upload speed. Gotta figure back when subspace was made, 128kbps was the highest speed any one person could get, so no doubt that is all they worried about making sure it could handle at max. So it would make sense I had heard that before.
Posted
24 packets/sec or about one every 40ms. Sounds good to me, thats close to what im using now at 30ms (about 33 packets/sec) also i seriously upgraded the BigChunk sending and recieving routines to be more efficient. So hopefully thatll help.
Guest
This topic is now closed to further replies.
×
×
  • Create New...