Page 1 of 1

Any specs available for the UDP server protocol?

Posted: Mon Jul 09, 2018 5:25 am
by Gustavo6046
I've been doing experiments with an UT99 server and a Python UDP relay, and I found out that everytime I feed the server random data, it will reply with:

Code: Select all

00c0323301c03233024003400440054006400740084009400a400b400c400d400e400f4010401140124013401440154016401740184019401a401b401c401d401e401f4020402140224023402440254026402740284029402a402b402c402d402e402f4030403140324033403440354036403740384039403a403b403c403d403e403f4040404140424043404440454046404740484049404a404b404c404d404e404f4050405140524053405440554056405740584059405a405b405c405d405e405f4060406140624063406440654066406740684069406a406b406c406d406e406f4070407140724073407440754076407740784079407a407b407c407d407e407f4080408140824083408440854086408740884089408a408b408c408d408e408f4090409140924093409440954096409740984099409a40
(hex encoding)

Code: Select all

AMAyMwHAMjMCQANABEAFQAZAB0AIQAlACkALQAxADUAOQA9AEEARQBJAE0AUQBVAFkAXQBhAGUAaQBtAHEAdQB5AH0AgQCFAIkAjQCRAJUAmQCdAKEApQCpAK0AsQC1ALkAvQDBAMUAyQDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+QD9AQEBBQEJAQ0BEQEVARkBHQEhASUBKQEtATEBNQE5AT0BQQFFAUkBTQFRAVUBWQFdAWEBZQFpAW0BcQF1AXkBfQGBAYUBiQGNAZEBlQGZAZ0BoQGlAakBrQGxAbUBuQG9AcEBxQHJAc0B0QHVAdkB3QHhAeUB6QHtAfEB9QH5Af0CAQIFAgkCDQIRAhUCGQIdAiECJQIpAi0CMQI1AjkCPQJBAkUCSQJNAlECVQJZAl0CYQJlAmkA=
(base64 encoding)

I wonder what that means. It also has a cryptical sequence, where one ASCIi character is followed by an at ("@") sign, that covers most of the ASCII spectrum.

Code: Select all

>>> print(buffer)
b'\x00\xc023\x01\xc023\x02@\x03@\x04@\x05@\x06@\x07@\x08@\t@\n@\x0b@\x0c@\r@\x0e@\x0f@\x10@\x11@\x12@\x13@\x14@\x15@\x16@\x17@\x18@\x19@\x1a@\x1b@\x1c@\x1d@\x1e@\x1f@ @!@"@#@$@%@&@\'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@\x7f@\x80@\x81@\x82@\x83@\x84@\x85@\x86@\x87@\x88@\x89@\x8a@\x8b@\x8c@\x8d@\x8e@\x8f@\x90@\x91@\x92@\x93@\x94@\x95@\x96@\x97@\x98@\x99@\x9a@'
So I got curious, are there any specifications for the protocol Unreal uses in its multiplayer?

I tried connecting to the relay using the UT client, it didn't work, a Python relay isn't a good option for reverse engineering stuff. Too slow :(