Jump to content

Launcher protocol: Difference between revisions

m
Re-uploaded huffman.zip
(Document 3.1's new extended info and PWAD hashes)
m (Re-uploaded huffman.zip)
(3 intermediate revisions by the same user not shown)
Line 7: Line 7:


All Zandronum servers use '''UDP''' as their network protocol.
All Zandronum servers use '''UDP''' as their network protocol.
Additionally, all traffic is compressed using the Huffman algorithm to save bandwidth. Therefore, you'll need [http://www.skulltag.com/download/huffman.zip a copy of huffman.cpp or huffman.java] to encode and decode your traffic appropriately.
Additionally, all traffic is compressed using the Huffman algorithm to save bandwidth. Therefore, you'll need [https://wiki.zandronum.com/files/huffman.zip a copy of huffman.cpp or huffman.java] to encode and decode your traffic appropriately.


There is also an implementation of the Huffman codec written in Python [https://bitbucket.org/alexmax2742/pyskull/src/fd5bf1ec8987ccb28a0861db965a087d561c0997/pyskull/huffman.py?at=default here]. Also in Python 3 [https://bitbucket.org/crimsondusk/pyskull/src/28e9f5cdd3d855d799b62fe9dc0b8f0bea7eee48/pyskull/huffman.py?at=default&fileviewer=file-view-default here].
There is also an implementation of the Huffman codec written in Python [https://bitbucket.org/alexmax2742/pyskull/src/fd5bf1ec8987ccb28a0861db965a087d561c0997/pyskull/huffman.py?at=default here]. Also in Python 3 [https://bitbucket.org/crimsondusk/pyskull/src/28e9f5cdd3d855d799b62fe9dc0b8f0bea7eee48/pyskull/huffman.py?at=default&fileviewer=file-view-default here].
Line 198: Line 198:
|Long || Time || Current time, this will be sent back to you so you can determine ping.
|Long || Time || Current time, this will be sent back to you so you can determine ping.
|-
|-
|Long || Flags2 || {{Devfeature|3.1|alpha}} The extended information you want. Ensure you specify <tt>SQF_EXTENDED_INFO</tt> in the normal Flags field as well. This field is optional - if this field is not present, its value is inferred to be 0.  
|Long || Flags2 || {{Devfeature|3.1|alpha}} The extended information you want. Ensure you specify <tt>SQF_EXTENDED_INFO</tt> in the normal Flags field as well. This field is optional - if this field is not present, its value is inferred to be 0. Older servers will ignore this field.
|}
|}


Line 437: Line 437:
| Long
| Long
| <tt>SQF_EXTENDED_INFO</tt>
| <tt>SQF_EXTENDED_INFO</tt>
| {{Devfeature|3.1|alpha}} The flags specifying extended server information you will receive. Check all <tt>SQF2</tt> values against field.
| {{Devfeature|3.1|alpha}} The flags specifying extended server information you will receive. Check all <tt>SQF2</tt> values against this field.
|-
|-
| Byte
| Byte
Line 445: Line 445:
| String
| String
| <tt>SQF2_PWAD_HASHES</tt>
| <tt>SQF2_PWAD_HASHES</tt>
| {{Devfeature|3.1|alpha}} The hash of the PWAD, sent for each PWAD. The index is the same as in <tt>SQF_PWADS</tt>
| {{Devfeature|3.1|alpha}} The hash of the PWAD, sent for each PWAD. The indices are the same as sent in <tt>SQF_PWADS</tt>
|}
|}