home *** CD-ROM | disk | FTP | other *** search
/ How Computers Work (Alt) / HowComputersWork.iso / Walkthrough / Client / UnrealtyClient-v101.exe / System / IpServer.u < prev    next >
Unreal Engine 3 Package  |  2000-01-24  |  29.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: Unreal Engine 3 Package (archive/unrealEngine3Package).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Unreal Engine 3 Package (archive/unrealEngine3Package) magic Supported
1% dexvert Unreal Texture (image/unrealTexture) ext Unsupported
1% dexvert KICK-Pascal Unit Interface (other/kickPascalUnitInterface) ext Unsupported
100% file Unreal Engine package (little-endian), version 69, names: 127, imports: 57, exports: 151 default
99% file data default
100% TrID UE3 Unreal Package (LE) default
100% detectItEasy Format: UnrealEngine\Unreal Package(69,0) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| c1 83 2a 9e 45 00 00 00 | 05 00 00 00 7f 00 00 00 |..*.E...|........|
|00000010| 40 00 00 00 97 00 00 00 | 76 6d 00 00 39 00 00 00 |@.......|vm..9...|
|00000020| 90 6b 00 00 21 f3 4c 20 | af d2 d3 11 93 cf 00 a0 |.k..!.L |........|
|00000030| 0c c0 42 70 01 00 00 00 | 97 00 00 00 7f 00 00 00 |..Bp....|........|
|00000040| 05 4e 6f 6e 65 00 10 04 | 07 04 10 53 65 6e 64 51 |.None...|...SendQ|
|00000050| 75 65 72 79 50 61 63 6b | 65 74 00 10 00 07 00 10 |ueryPack|et......|
|00000060| 55 64 70 53 65 72 76 65 | 72 55 70 6c 69 6e 6b 00 |UdpServe|rUplink.|
|00000070| 10 00 07 00 09 47 65 74 | 52 75 6c 65 73 00 10 00 |.....Get|Rules...|
|00000080| 07 00 0f 50 61 72 73 65 | 4e 65 78 74 51 75 65 72 |...Parse|NextQuer|
|00000090| 79 00 10 00 07 00 08 47 | 65 74 49 6e 66 6f 00 10 |y......G|etInfo..|
|000000a0| 00 07 00 0b 50 61 72 73 | 65 51 75 65 72 79 00 10 |....Pars|eQuery..|
|000000b0| 00 07 00 09 47 65 74 42 | 61 73 69 63 00 10 00 07 |....GetB|asic....|
|000000c0| 00 0c 53 65 6e 64 50 6c | 61 79 65 72 73 00 10 00 |..SendPl|ayers...|
|000000d0| 07 00 0c 53 65 6e 64 41 | 50 61 63 6b 65 74 00 10 |...SendA|Packet..|
|000000e0| 00 07 00 09 53 65 6e 64 | 54 65 78 74 00 10 00 07 |....Send|Text....|
|000000f0| 04 0a 47 65 74 50 6c 61 | 79 65 72 00 10 00 07 00 |..GetPla|yer.....|
|00000100| 11 47 65 74 4c 65 76 65 | 6c 50 72 6f 70 65 72 74 |.GetLeve|lPropert|
|00000110| 79 00 10 00 07 00 12 47 | 65 74 50 6c 61 79 65 72 |y......G|etPlayer|
|00000120| 50 72 6f 70 65 72 74 79 | 00 10 00 07 00 07 45 6e |Property|......En|
|00000130| 67 69 6e 65 00 10 00 07 | 04 06 54 69 6d 65 72 00 |gine....|..Timer.|
|00000140| 10 00 07 04 05 43 6f 72 | 65 00 10 00 07 04 09 49 |.....Cor|e......I|
|00000150| 70 53 65 72 76 65 72 00 | 10 00 07 00 0d 52 65 63 |pServer.|.....Rec|
|00000160| 65 69 76 65 64 54 65 78 | 74 00 10 00 07 00 09 42 |eivedTex|t......B|
|00000170| 69 6e 64 50 6f 72 74 00 | 10 00 07 00 0b 52 65 6d |indPort.|.....Rem|
|00000180| 6f 74 65 52 6f 6c 65 00 | 10 00 07 04 07 53 79 73 |oteRole.|.....Sys|
|00000190| 74 65 6d 00 10 00 07 04 | 09 56 61 6c 69 64 61 74 |tem.....|.Validat|
|000001a0| 65 00 10 00 07 00 10 47 | 65 74 47 61 6d 65 50 72 |e......G|etGamePr|
|000001b0| 6f 70 65 72 74 79 00 10 | 00 07 00 0d 50 72 65 42 |operty..|....PreB|
|000001c0| 65 67 69 6e 50 6c 61 79 | 00 10 00 07 04 06 49 70 |eginPlay|......Ip|
|000001d0| 44 72 76 00 10 00 07 00 | 0d 4d 61 73 74 65 72 55 |Drv.....|.MasterU|
|000001e0| 70 6c 69 6e 6b 00 10 00 | 07 00 07 52 65 73 75 6d |plink...|...Resum|
|000001f0| 65 00 10 00 07 00 0f 55 | 64 70 53 65 72 76 65 72 |e......U|dpServer|
|00000200| 51 75 65 72 79 00 10 00 | 07 00 0e 47 65 74 53 65 |Query...|...GetSe|
|00000210| 72 76 65 72 50 6f 72 74 | 00 10 00 07 00 0b 50 6c |rverPort|......Pl|
|00000220| 61 79 65 72 50 61 77 6e | 00 10 00 07 00 10 54 61 |ayerPawn|......Ta|
|00000230| 72 67 65 74 51 75 65 72 | 79 4e 61 6d 65 00 10 00 |rgetQuer|yName...|
|00000240| 07 00 08 52 65 73 6f 6c | 76 65 00 10 00 07 00 0e |...Resol|ve......|
|00000250| 50 6f 73 74 42 65 67 69 | 6e 50 6c 61 79 00 10 00 |PostBegi|nPlay...|
|00000260| 07 04 0d 47 65 74 4d 75 | 6c 74 69 53 6b 69 6e 00 |...GetMu|ltiSkin.|
|00000270| 10 00 07 00 05 48 61 6c | 74 00 10 00 07 00 0a 51 |.....Hal|t......Q|
|00000280| 75 65 72 79 4e 61 6d 65 | 00 10 00 07 00 0e 52 65 |ueryName|......Re|
|00000290| 73 6f 6c 76 65 46 61 69 | 6c 65 64 00 10 00 07 00 |solveFai|led.....|
|000002a0| 0f 43 6f 6e 73 6f 6c 65 | 43 6f 6d 6d 61 6e 64 00 |.Console|Command.|
|000002b0| 10 00 07 00 0c 47 65 74 | 49 74 65 6d 4e 61 6d 65 |.....Get|ItemName|
|000002c0| 00 10 00 07 00 11 4d 61 | 73 74 65 72 53 65 72 76 |......Ma|sterServ|
|000002d0| 65 72 50 6f 72 74 00 10 | 00 07 00 09 47 61 6d 65 |erPort..|....Game|
|000002e0| 4e 61 6d 65 00 10 00 07 | 00 09 52 65 73 6f 6c 76 |Name....|..Resolv|
|000002f0| 65 64 00 10 00 07 00 0e | 55 70 64 61 74 65 4d 69 |ed......|UpdateMi|
|00000300| 6e 75 74 65 73 00 10 00 | 07 00 14 47 61 6d 65 52 |nutes...|...GameR|
|00000310| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 00 10 |eplicati|onInfo..|
|00000320| 00 07 00 16 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |....Play|erReplic|
|00000330| 61 74 69 6f 6e 49 6e 66 | 6f 00 10 00 07 00 09 4d |ationInf|o......M|
|00000340| 65 6e 75 4e 61 6d 65 00 | 10 00 07 00 09 47 61 6d |enuName.|.....Gam|
|00000350| 65 49 6e 66 6f 00 10 00 | 07 00 05 54 65 61 6d 00 |eInfo...|...Team.|
|00000360| 10 00 07 00 07 52 65 73 | 75 6c 74 00 10 00 07 00 |.....Res|ult.....|
|00000370| 02 50 00 10 00 07 00 09 | 6e 65 78 74 50 61 77 6e |.P......|nextPawn|
|00000380| 00 10 00 07 00 05 53 6b | 69 6e 00 10 00 07 00 07 |......Sk|in......|
|00000390| 52 65 67 69 6f 6e 00 10 | 00 07 00 02 69 00 10 00 |Region..|....i...|
|000003a0| 07 00 0b 4d 61 78 50 6c | 61 79 65 72 73 00 10 00 |...MaxPl|ayers...|
|000003b0| 07 00 0b 53 63 72 69 70 | 74 54 65 78 74 00 10 00 |...Scrip|tText...|
|000003c0| 07 00 0b 50 6c 61 79 65 | 72 4e 61 6d 65 00 10 00 |...Playe|rName...|
|000003d0| 07 00 06 53 63 6f 72 65 | 00 10 00 07 00 0c 52 65 |...Score|......Re|
|000003e0| 74 75 72 6e 56 61 6c 75 | 65 00 10 00 07 00 0b 53 |turnValu|e......S|
|000003f0| 65 72 76 65 72 4e 61 6d | 65 00 10 00 07 00 0b 4e |erverNam|e......N|
|00000400| 75 6d 50 6c 61 79 65 72 | 73 00 10 00 07 00 06 4c |umPlayer|s......L|
|00000410| 65 76 65 6c 00 10 00 07 | 00 06 41 63 74 6f 72 00 |evel....|..Actor.|
|00000420| 10 00 07 00 09 50 61 77 | 6e 4c 69 73 74 00 10 00 |.....Paw|nList...|
|00000430| 07 00 0a 52 65 73 75 6c | 74 53 65 74 00 10 00 07 |...Resul|tSet....|
|00000440| 00 05 54 65 78 74 00 10 | 00 07 00 05 50 61 77 6e |..Text..|....Pawn|
|00000450| 00 10 00 07 00 08 55 64 | 70 4c 69 6e 6b 00 10 00 |......Ud|pLink...|
|00000460| 07 00 0d 49 6e 74 65 72 | 6e 65 74 4c 69 6e 6b 00 |...Inter|netLink.|
|00000470| 10 00 07 00 0a 55 64 70 | 42 65 61 63 6f 6e 00 10 |.....Udp|Beacon..|
|00000480| 00 07 00 07 49 70 41 64 | 64 72 00 10 00 07 00 05 |....IpAd|dr......|
|00000490| 41 64 64 72 00 10 00 07 | 00 05 50 6f 72 74 00 10 |Addr....|..Port..|
|000004a0| 00 07 00 0a 41 64 6d 69 | 6e 4e 61 6d 65 00 10 00 |....Admi|nName...|
|000004b0| 07 00 10 47 65 74 50 72 | 6f 70 65 72 74 79 54 65 |...GetPr|opertyTe|
|000004c0| 78 74 00 10 00 07 00 11 | 56 61 6c 69 64 61 74 69 |xt......|Validati|
|000004d0| 6f 6e 53 74 72 69 6e 67 | 00 10 00 07 00 0b 41 64 |onString|......Ad|
|000004e0| 6d 69 6e 45 6d 61 69 6c | 00 10 00 07 00 05 47 61 |minEmail|......Ga|
|000004f0| 6d 65 00 10 00 07 00 04 | 54 61 67 00 10 00 07 04 |me......|Tag.....|
|00000500| 06 43 6c 61 73 73 00 10 | 04 07 04 13 55 64 70 53 |.Class..|....UdpS|
|00000510| 65 72 76 65 72 51 75 65 | 72 79 50 6f 72 74 00 10 |erverQue|ryPort..|
|00000520| 00 07 00 0a 62 6f 75 6e | 64 70 6f 72 74 00 10 00 |....boun|dport...|
|00000530| 07 00 08 50 61 63 6b 61 | 67 65 00 10 04 07 04 0b |...Packa|ge......|
|00000540| 54 65 78 74 42 75 66 66 | 65 72 00 10 00 07 04 07 |TextBuff|er......|
|00000550| 4f 62 6a 65 63 74 00 10 | 00 07 04 0a 4c 65 76 65 |Object..|....Leve|
|00000560| 6c 49 6e 66 6f 00 10 00 | 07 00 10 43 75 72 72 65 |lInfo...|...Curre|
|00000570| 6e 74 51 75 65 72 79 4e | 75 6d 00 10 00 07 00 0a |ntQueryN|um......|
|00000580| 52 65 70 6c 79 44 61 74 | 61 00 10 00 07 00 07 42 |ReplyDat|a......B|
|00000590| 65 61 63 6f 6e 00 10 00 | 07 00 06 51 75 65 72 79 |eacon...|...Query|
|000005a0| 00 10 00 07 00 0f 51 75 | 65 72 79 52 65 6d 61 69 |......Qu|eryRemai|
|000005b0| 6e 69 6e 67 00 10 00 07 | 00 09 51 75 65 72 79 4e |ning....|..QueryN|
|000005c0| 75 6d 00 10 00 07 00 0a | 50 61 63 6b 65 74 4e 75 |um......|PacketNu|
|000005d0| 6d 00 10 00 07 00 09 46 | 75 6e 63 74 69 6f 6e 00 |m......F|unction.|
|000005e0| 10 04 07 04 0a 51 75 65 | 72 79 54 79 70 65 00 10 |.....Que|ryType..|
|000005f0| 00 07 00 0b 51 75 65 72 | 79 56 61 6c 75 65 00 10 |....Quer|yValue..|
|00000600| 00 07 00 0a 51 75 65 72 | 79 52 65 73 74 00 10 00 |....Quer|yRest...|
|00000610| 07 00 0d 62 46 69 6e 61 | 6c 50 61 63 6b 65 74 00 |...bFina|lPacket.|
|00000620| 10 00 07 00 0a 54 65 6d | 70 51 75 65 72 79 00 10 |.....Tem|pQuery..|
|00000630| 00 07 00 0d 43 6c 6f 73 | 69 6e 67 53 6c 61 73 68 |....Clos|ingSlash|
|00000640| 00 10 00 07 00 07 53 74 | 72 75 63 74 00 10 04 07 |......St|ruct....|
|00000650| 04 0c 53 74 72 50 72 6f | 70 65 72 74 79 00 10 00 |..StrPro|perty...|
|00000660| 07 04 0f 53 74 72 75 63 | 74 50 72 6f 70 65 72 74 |...Struc|tPropert|
|00000670| 79 00 10 00 07 04 0b 53 | 65 6e 64 53 74 72 69 6e |y......S|endStrin|
|00000680| 67 00 10 00 07 00 0e 43 | 6c 61 73 73 50 72 6f 70 |g......C|lassProp|
|00000690| 65 72 74 79 00 10 00 07 | 04 0d 4e 61 6d 65 50 72 |erty....|..NamePr|
|000006a0| 6f 70 65 72 74 79 00 10 | 00 07 04 0a 50 6c 61 79 |operty..|....Play|
|000006b0| 65 72 4e 75 6d 00 10 00 | 07 00 0f 4f 62 6a 65 63 |erNum...|...Objec|
|000006c0| 74 50 72 6f 70 65 72 74 | 79 00 10 00 07 04 0b 53 |tPropert|y......S|
|000006d0| 65 6e 64 52 65 73 75 6c | 74 00 10 00 07 00 0e 46 |endResul|t......F|
|000006e0| 6c 6f 61 74 50 72 6f 70 | 65 72 74 79 00 10 00 07 |loatProp|erty....|
|000006f0| 04 05 50 72 6f 70 00 10 | 00 07 00 0d 42 6f 6f 6c |..Prop..|....Bool|
|00000700| 50 72 6f 70 65 72 74 79 | 00 10 00 07 04 0c 49 6e |Property|......In|
|00000710| 74 50 72 6f 70 65 72 74 | 79 00 10 00 07 04 0d 42 |tPropert|y......B|
|00000720| 79 74 65 50 72 6f 70 65 | 72 74 79 00 10 00 07 04 |ytePrope|rty.....|
|00000730| 09 44 6f 55 70 6c 69 6e | 6b 00 10 00 07 00 06 54 |.DoUplin|k......T|
|00000740| 69 74 6c 65 00 10 00 07 | 04 14 4d 61 73 74 65 72 |itle....|..Master|
|00000750| 53 65 72 76 65 72 41 64 | 64 72 65 73 73 00 10 00 |ServerAd|dress...|
|00000760| 07 00 09 53 6b 69 6e 4e | 61 6d 65 00 10 00 07 00 |...SkinN|ame.....|
|00000770| 09 46 61 63 65 4e 61 6d | 65 00 10 00 07 00 13 4d |.FaceNam|e......M|
|00000780| 61 73 74 65 72 53 65 72 | 76 65 72 49 70 41 64 64 |asterSer|verIpAdd|
|00000790| 72 00 10 00 07 00 11 48 | 65 61 72 74 62 65 61 74 |r......H|eartbeat|
|000007a0| 4d 65 73 73 61 67 65 00 | 10 00 07 00 0b 55 70 6c |Message.|.....Upl|
|000007b0| 69 6e 6b 50 6f 72 74 00 | 10 00 07 00 0e 45 6e 67 |inkPort.|.....Eng|
|000007c0| 69 6e 65 56 65 72 73 69 | 6f 6e 00 10 00 07 00 0e |ineVersi|on......|
|000007d0| 4d 69 6e 4e 65 74 56 65 | 72 73 69 6f 6e 00 10 00 |MinNetVe|rsion...|
|000007e0| 07 00 0c 46 69 6e 61 6c | 50 61 63 6b 65 74 00 10 |...Final|Packet..|
|000007f0| 00 07 00 09 51 75 65 72 | 79 53 74 72 00 10 00 07 |....Quer|yStr....|
|00000800| 00 00 00 00 01 00 00 00 | 00 00 40 00 00 00 00 07 |........|..@.....|
|00000810| 01 00 00 00 00 00 00 00 | 00 00 00 46 01 01 00 00 |........|...F....|
|00000820| 00 00 00 40 00 00 00 00 | 06 01 00 00 00 80 00 00 |...@....|........|
|00000830| 00 00 00 00 52 01 01 00 | 00 00 80 00 00 00 00 8e |....R...|........|
|00000840| 00 00 40 02 01 00 00 00 | 80 01 00 00 00 00 00 00 |..@.....|........|
|00000850| 01 00 00 00 00 00 00 00 | 00 00 00 11 01 00 00 00 |........|........|
|00000860| 00 00 40 00 00 00 00 19 | 01 00 00 00 80 00 40 00 |..@.....|......@.|
|00000870| 00 00 00 1f 01 00 00 00 | 80 00 40 00 00 00 00 00 |........|..@.....|
|00000880| 01 00 00 00 00 00 40 00 | 00 00 00 42 02 01 00 00 |......@.|...B....|
|00000890| 00 80 00 00 00 00 00 00 | 0c 01 00 00 00 80 00 00 |........|........|
|000008a0| 00 00 8f 00 00 31 01 00 | 00 00 80 01 40 00 00 00 |.....1..|....@...|
|000008b0| 00 39 01 00 00 00 80 01 | 40 00 00 00 00 00 01 00 |.9......|@.......|
|000008c0| 00 00 00 00 40 00 00 00 | 00 3b 01 00 00 00 00 00 |....@...|.;......|
|000008d0| 40 00 00 00 00 00 01 00 | 00 00 00 00 00 00 00 00 |@.......|........|
|000008e0| 00 28 01 00 00 00 00 00 | 00 00 00 17 00 00 00 01 |.(......|........|
|000008f0| 00 00 00 00 00 40 00 00 | 00 00 1e 01 00 00 00 00 |.....@..|........|
|00000900| 00 00 00 00 92 00 00 00 | 01 00 00 00 00 00 00 00 |........|........|
|00000910| 00 93 00 57 02 79 01 1c | ff ff ff ff ff ff ff ff |...W.y..|........|
|00000920| 00 00 00 00 00 00 00 00 | 00 00 00 00 ff ff ff ff |........|........|
|00000930| ff ff ff ff ff ff 00 00 | 00 00 1e 00 00 00 00 00 |........|........|
|00000940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 42 01 |........|......B.|
|00000950| 17 01 00 00 00 14 b8 fb | c9 93 01 00 00 00 36 16 |........|......6.|
|00000960| 1f 85 8f 00 00 00 00 fd | 05 af e9 84 00 00 00 00 |........|........|
|00000970| 92 d4 fb 52 88 00 00 00 | 00 8d 81 c3 b9 84 00 00 |...R....|........|
|00000980| 00 00 92 d4 fb 52 84 00 | 00 00 00 92 d4 fb 52 84 |.....R..|......R.|
|00000990| 00 00 00 00 92 d4 fb 52 | 88 00 00 00 00 8d 81 c3 |.......R|........|
|000009a0| b9 92 00 00 00 00 39 eb | 0b 7d 84 00 00 00 00 92 |......9.|.}......|
|000009b0| d4 fb 52 88 00 00 00 00 | 8d 81 c3 b9 92 00 00 00 |..R.....|........|
|000009c0| 00 39 eb 0b 7d 8f 00 00 | 00 00 fd 05 af e9 95 00 |.9..}...|........|
|000009d0| 00 00 00 2e ea 3b fb 8f | 00 00 00 00 fd 05 af e9 |.....;..|........|
|000009e0| 95 00 00 00 00 2e ea 3b | fb 8f 00 00 00 00 fd 05 |.......;|........|
|000009f0| af e9 8f 00 00 00 00 fd | 05 af e9 95 00 00 00 00 |........|........|
|00000a00| 2e ea 3b fb 8f 00 00 00 | 00 fd 05 af e9 8f 00 00 |..;.....|........|
|00000a10| 00 00 fd 05 af e9 8f 00 | 00 00 00 fd 05 af e9 8f |........|........|
|00000a20| 00 00 00 00 fd 05 af e9 | 84 00 00 00 00 92 d4 fb |........|........|
|00000a30| 52 88 00 00 00 00 8d 81 | c3 b9 84 00 00 00 00 92 |R.......|........|
|00000a40| d4 fb 52 88 00 00 00 00 | 8d 81 c3 b9 90 00 00 00 |..R.....|........|
|00000a50| 00 bf 1e 44 db 84 00 00 | 00 00 92 d4 fb 52 88 00 |...D....|.....R..|
|00000a60| 00 00 00 8d 81 c3 b9 90 | 00 00 00 00 bf 1e 44 db |........|......D.|
|00000a70| 84 00 00 00 00 92 d4 fb | 52 88 00 00 00 00 8d 81 |........|R.......|
|00000a80| c3 b9 90 00 00 00 00 bf | 1e 44 db 84 00 00 00 00 |........|.D......|
|00000a90| 92 d4 fb 52 88 00 00 00 | 00 8d 81 c3 b9 90 00 00 |...R....|........|
|00000aa0| 00 00 bf 1e 44 db 84 00 | 00 00 00 92 d4 fb 52 88 |....D...|......R.|
|00000ab0| 00 00 00 00 8d 81 c3 b9 | 90 00 00 00 00 bf 1e 44 |........|.......D|
|00000ac0| db 84 00 00 00 00 92 d4 | fb 52 88 00 00 00 00 8d |........|.R......|
|00000ad0| 81 c3 b9 84 00 00 00 00 | 92 d4 fb 52 84 00 00 00 |........|...R....|
|00000ae0| 00 92 d4 fb 52 88 00 00 | 00 00 8d 81 c3 b9 84 00 |....R...|........|
|00000af0| 00 00 00 92 d4 fb 52 88 | 00 00 00 00 8d 81 c3 b9 |......R.|........|
|00000b00| 84 00 00 00 00 92 d4 fb | 52 88 00 00 00 00 8d 81 |........|R.......|
|00000b10| c3 b9 84 00 00 00 00 92 | d4 fb 52 84 00 00 00 00 |........|..R.....|
|00000b20| 92 d4 fb 52 84 00 00 00 | 00 92 d4 fb 52 88 00 00 |...R....|....R...|
|00000b30| 00 00 8d 81 c3 b9 84 00 | 00 00 00 92 d4 fb 52 84 |........|......R.|
|00000b40| 00 00 00 00 92 d4 fb 52 | 84 00 00 00 00 92 d4 fb |.......R|........|
|00000b50| 52 88 00 00 00 00 8d 81 | c3 b9 90 00 00 00 00 bf |R.......|........|
|00000b60| 1e 44 db 84 00 00 00 00 | 92 d4 fb 52 88 00 00 00 |.D......|...R....|
|00000b70| 00 8d 81 c3 b9 84 00 00 | 00 00 92 d4 fb 52 88 00 |........|.....R..|
|00000b80| 00 00 00 8d 81 c3 b9 99 | 00 00 00 00 99 1d 4e 35 |........|......N5|
|00000b90| 84 00 00 00 00 92 d4 fb | 52 88 00 00 00 00 8d 81 |........|R.......|
|00000ba0| c3 b9 04 11 19 0e 10 94 | 15 24 06 1a 29 2d 03 75 |........|.$..)-.u|
|00000bb0| 74 00 14 01 00 00 00 00 | 38 01 00 00 00 00 00 00 |t.......|8.......|
|00000bc0| 00 00 00 00 2e 01 00 00 | 00 80 01 40 00 00 00 00 |........|...@....|
|00000bd0| 44 01 01 00 00 00 00 00 | 00 00 00 8e 00 00 30 01 |D.......|......0.|
|00000be0| 00 00 00 00 00 00 00 00 | 00 00 18 01 00 00 00 00 |........|........|
|00000bf0| 00 40 00 00 00 00 1b 01 | 00 00 00 00 00 40 00 00 |.@......|.....@..|
|00000c00| 00 00 23 01 00 00 00 00 | 00 00 00 00 00 00 2d 01 |..#.....|......-.|
|00000c10| 00 00 00 80 01 40 00 00 | 00 00 5d 01 01 00 00 00 |.....@..|..].....|
|00000c20| 80 08 40 00 00 00 00 42 | 01 01 00 00 00 00 00 00 |..@....B|........|
|00000c30| 00 00 00 00 40 01 01 00 | 00 00 00 00 40 00 00 00 |....@...|....@...|
|00000c40| 00 2c 01 00 00 00 00 00 | 00 00 00 00 00 63 01 01 |.,......|.....c..|
|00000c50| 00 00 00 01 40 40 00 02 | 00 00 27 01 00 00 00 00 |....@@..|..'.....|
|00000c60| 00 00 00 00 00 00 00 01 | 00 00 00 00 00 00 00 00 |........|........|
|00000c70| 00 00 0b 01 00 00 00 00 | 40 44 00 00 00 00 00 01 |........|@D......|
|00000c80| 00 00 00 00 00 00 00 00 | 00 00 00 01 00 00 00 00 |........|........|
|00000c90| 00 00 00 00 00 00 00 01 | 00 00 00 00 00 00 00 00 |........|........|
|00000ca0| 00 00 4f 01 01 00 00 00 | 00 00 40 00 00 00 00 00 |..O.....|..@.....|
|00000cb0| 01 00 00 00 00 00 00 00 | 00 00 00 0e 01 00 00 00 |........|........|
|00000cc0| 80 01 40 00 00 00 00 0f | 01 00 00 00 80 01 40 00 |..@.....|......@.|
|00000cd0| 00 00 00 00 01 00 00 00 | 00 00 00 00 00 00 00 41 |........|.......A|
|00000ce0| 01 01 00 00 00 00 00 00 | 00 00 00 00 41 02 01 00 |........|....A...|
|00000cf0| 00 00 80 01 40 00 00 00 | 00 51 02 01 00 00 00 80 |....@...|.Q......|
|00000d00| 00 40 00 00 00 00 3f 01 | 00 00 00 80 00 00 00 00 |.@....?.|........|
|00000d10| 00 00 37 01 00 00 00 00 | 00 40 00 00 00 00 7c 01 |..7.....|.@....|.|
|00000d20| 01 00 00 00 80 00 00 00 | 00 00 00 00 01 00 00 00 |........|........|
|00000d30| 00 00 00 00 00 99 00 00 | 21 01 00 00 00 00 00 40 |........|!......@|
|00000d40| 00 00 00 00 6a 01 01 00 | 00 00 00 00 00 00 00 00 |....j...|........|
|00000d50| 00 4a 02 01 00 00 00 80 | 01 00 00 00 00 00 02 01 |.J......|........|
|00000d60| 00 00 00 00 00 40 00 00 | 00 00 3a 01 00 00 00 00 |.....@..|..:.....|
|00000d70| 00 40 00 00 00 00 00 01 | 00 00 00 00 00 00 00 00 |.@......|........|
|00000d80| 00 00 3e 01 00 00 00 80 | 00 00 00 00 8e 00 00 33 |..>.....|.......3|
|00000d90| 01 00 00 00 80 08 40 00 | 00 00 00 35 01 00 00 00 |......@.|...5....|
|00000da0| 80 01 00 00 00 00 00 34 | 01 00 00 00 00 00 40 00 |.......4|......@.|
|00000db0| 00 00 00 00 01 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dc0| 01 00 00 00 00 00 40 00 | 00 00 00 00 01 00 00 00 |......@.|........|
|00000dd0| 00 00 40 00 00 00 00 13 | 01 00 00 00 00 00 40 00 |..@.....|......@.|
|00000de0| 00 00 00 00 01 00 00 00 | 00 00 00 00 00 00 00 47 |........|.......G|
|00000df0| 01 01 00 00 00 00 00 40 | 00 00 00 00 00 01 00 00 |.......@|........|
|00000e00| 00 00 00 40 00 00 00 00 | 78 01 01 00 00 00 80 00 |...@....|x.......|
|00000e10| 40 00 00 00 00 4a 01 01 | 00 00 00 80 00 00 00 00 |@....J..|........|
|00000e20| 8e 00 00 4b 01 01 00 00 | 00 80 00 00 00 00 00 00 |...K....|........|
|00000e30| 59 01 01 00 00 00 80 01 | 00 00 00 00 00 77 01 01 |Y.......|.....w..|
|00000e40| 00 00 00 80 00 40 00 00 | 00 00 00 01 00 00 00 00 |.....@..|........|
|00000e50| 00 00 00 00 8f 00 00 00 | 01 00 00 00 00 00 40 00 |........|......@.|
|00000e60| 00 00 00 4d 01 01 00 00 | 00 00 00 00 00 00 00 00 |...M....|........|
|00000e70| 57 01 01 00 00 00 80 00 | 00 00 00 00 00 16 01 00 |W.......|........|
|00000e80| 00 00 00 00 40 00 00 00 | 00 04 01 00 00 00 80 08 |....@...|........|
|00000e90| 40 00 00 00 00 50 01 01 | 00 00 00 80 00 00 00 00 |@....P..|........|
|00000ea0| 8e 00 00 1d 01 00 00 00 | 80 00 40 00 00 00 00 54 |........|..@....T|
|00000eb0| 01 01 00 00 00 80 00 00 | 00 00 8e 00 00 25 01 00 |........|.....%..|
|00000ec0| 00 00 01 00 00 00 1c 00 | 00 58 01 01 00 00 00 80 |........|.X......|
|00000ed0| 01 00 00 00 00 00 7e 01 | 01 00 00 00 80 00 00 00 |......~.|........|
|00000ee0| 00 00 00 74 01 01 00 00 | 00 80 00 00 00 00 00 00 |...t....|........|
|00000ef0| 56 02 01 00 00 00 80 00 | 40 00 00 00 00 5a 01 01 |V.......|@....Z..|
|00000f00| 00 00 00 80 00 00 00 00 | 00 00 1c 01 00 00 00 80 |........|........|
|00000f10| 00 40 00 00 00 00 5b 01 | 01 00 00 00 80 00 00 00 |.@....[.|........|
|00000f20| 00 00 00 62 01 01 00 00 | 00 80 00 00 00 00 00 00 |...b....|........|
|00000f30| 5e 01 01 00 00 00 80 08 | 40 00 00 00 00 61 01 01 |^.......|@....a..|
|00000f40| 00 00 00 01 40 00 00 02 | 00 00 24 01 00 00 00 01 |....@...|..$.....|
|00000f50| 40 00 00 02 00 00 49 02 | 01 00 00 00 80 01 00 00 |@.....I.|........|
|00000f60| 00 00 00 64 01 01 00 00 | 00 01 40 00 00 02 00 00 |...d....|..@.....|
|00000f70| 65 01 01 00 00 00 01 40 | 00 00 02 00 00 1a 01 00 |e......@|........|
|00000f80| 00 00 01 00 00 00 02 00 | 00 5c 01 01 00 00 00 80 |........|.\......|
|00000f90| 00 00 00 00 8e 00 00 20 | 01 00 00 00 80 00 00 00 |....... |........|
|00000fa0| 00 8e 00 00 71 01 01 00 | 00 00 80 00 00 00 00 8e |....q...|........|
|00000fb0| 00 00 5f 01 01 00 00 00 | 80 00 00 00 00 8e 00 00 |.._.....|........|
|00000fc0| 00 01 00 00 00 00 00 00 | 00 00 00 00 12 01 00 00 |........|........|
|00000fd0| 00 00 00 40 00 00 00 b6 | 6d 01 00 68 01 2a 4f 00 |...@....|m..h.*O.|
|00000fe0| 00 00 df 09 00 00 42 01 | 00 00 0f 36 9d 01 1a 36 |......B.|...6...6|
|00000ff0| 9d 00 68 01 07 64 00 9a | 36 9d 01 1a 25 16 e7 1f |..h..d..|6...%...|
|00001000| 55 64 70 53 65 72 76 65 | 72 55 70 6c 69 6e 6b 3a |UdpServe|rUplink:|
|00001010| 20 49 6e 76 61 6c 69 64 | 20 6d 61 73 74 65 72 20 | Invalid| master |
|00001020| 73 65 72 76 65 72 20 61 | 64 64 72 65 73 73 2c 20 |server a|ddress, |
|00001030| 61 62 6f 72 74 69 6e 67 | 2e 00 16 04 0b e7 70 70 |aborting|......pp|
|00001040| 70 1f 55 64 70 53 65 72 | 76 65 72 55 70 6c 69 6e |p.UdpSer|verUplin|
|00001050| 6b 3a 20 4d 61 73 74 65 | 72 20 53 65 72 76 65 72 |k: Maste|r Server|
|00001060| 20 69 73 20 00 01 24 16 | 1f 3a 00 16 53 36 9e 01 | is ..$.|.:..S6..|
|00001070| 1a 16 16 0f 00 2a 92 19 | 01 13 05 00 04 01 9a 26 |.....*..|.......&|
|00001080| 16 07 00 01 9a 1b 13 00 | 2a 27 16 25 16 e7 1f 55 |........|*'.%...U|
|00001090| 64 70 53 65 72 76 65 72 | 55 70 6c 69 6e 6b 3a 20 |dpServer|Uplink: |
|000010a0| 45 72 72 6f 72 20 62 69 | 6e 64 69 6e 67 20 70 6f |Error bi|nding po|
|000010b0| 72 74 2c 20 61 62 6f 72 | 74 69 6e 67 2e 00 16 04 |rt, abor|ting....|
|000010c0| 0b e7 70 70 1f 55 64 70 | 53 65 72 76 65 72 55 70 |..pp.Udp|ServerUp|
|000010d0| 6c 69 6e 6b 3a 20 50 6f | 72 74 20 00 53 00 2a 16 |link: Po|rt .S.*.|
|000010e0| 1f 20 73 75 63 63 65 73 | 73 66 75 6c 6c 79 20 62 |. succes|sfully b|
|000010f0| 6f 75 6e 64 2e 00 16 16 | 1b 1b 16 04 0b 00 00 00 |ound....|........|
|00001100| 02 00 00 00 00 a0 60 01 | 00 00 18 24 00 00 00 1f |......`.|...$....|
|00001110| 06 00 00 45 01 00 00 07 | 47 00 81 2d 01 60 01 16 |...E....|G..-.`..|
|00001120| e7 1f 44 6f 55 70 6c 69 | 6e 6b 20 69 73 20 6e 6f |..DoUpli|nk is no|
|00001130| 74 20 73 65 74 2e 20 20 | 4e 6f 74 20 63 6f 6e 6e |t set. |Not conn|
|00001140| 65 63 74 69 6e 67 20 74 | 6f 20 4d 61 73 74 65 72 |ecting t|o Master|
|00001150| 20 53 65 72 76 65 72 2e | 00 16 04 0b 2f 61 30 20 | Server.|..../a0 |
|00001160| 17 01 13 01 65 01 16 60 | 00 06 60 00 31 30 07 b4 |....e..`|..`.10..|
|00001170| 00 72 01 13 2a 16 e7 1f | 55 64 70 53 65 72 76 65 |.r..*...|UdpServe|
|00001180| 72 55 70 6c 69 6e 6b 3a | 20 43 6f 75 6c 64 20 6e |rUplink:| Could n|
|00001190| 6f 74 20 66 69 6e 64 20 | 61 20 55 64 70 53 65 72 |ot find |a UdpSer|
|000011a0| 76 65 72 51 75 65 72 79 | 20 6f 62 6a 65 63 74 2c |verQuery| object,|
|000011b0| 20 61 62 6f 72 74 69 6e | 67 2e 00 16 04 0b 0f 01 | abortin|g.......|
|000011c0| 44 01 70 70 70 1f 5c 68 | 65 61 72 74 62 65 61 74 |D.ppp.\h|eartbeat|
|000011d0| 5c 00 53 19 01 13 05 00 | 04 01 9a 16 1f 5c 67 61 |\.S.....|.....\ga|
|000011e0| 6d 65 6e 61 6d 65 5c 00 | 16 19 01 13 05 00 00 01 |mename\.|........|
|000011f0| 27 16 0f 36 9e 01 1a 01 | 63 01 07 38 01 7a 01 24 |'..6....|c..8.z.$|
|00001200| 1f 00 16 0f 01 24 70 70 | 1f 6d 61 73 74 65 72 00 |.....$pp|.master.|
|00001210| 53 01 64 01 16 1f 2e 67 | 61 6d 65 73 70 79 2e 63 |S.d....g|amespy.c|
|00001220| 6f 6d 00 16 1b 20 01 24 | 16 04 0b 00 00 00 02 00 |om... .$|........|
|00001230| 00 00 00 b7 6c 01 00 00 | 25 6b 00 00 00 72 0c 00 |....l...|%k...r..|
|00001240| 00 49 00 00 00 e7 1f 55 | 64 70 53 65 72 76 65 72 |.I.....U|dpServer|
|00001250| 55 70 6c 69 6e 6b 3a 20 | 46 61 69 6c 65 64 20 74 |Uplink: |Failed t|
|00001260| 6f 20 72 65 73 6f 6c 76 | 65 20 6d 61 73 74 65 72 |o resolv|e master|
|00001270| 20 73 65 72 76 65 72 20 | 61 64 64 72 65 73 73 2c | server |address,|
|00001280| 20 61 62 6f 72 74 69 6e | 67 2e 00 16 04 0b 00 00 | abortin|g.......|
|00001290| 00 02 00 00 00 00 b0 6e | 01 00 3c 0f 73 00 00 00 |.......n|..<.s...|
|000012a0| 17 0d 00 00 52 00 00 00 | 14 2d 00 3c 1b 0a 01 1a |....R...|.-.<....|
|000012b0| 01 44 01 16 07 50 00 81 | 2d 00 3c 16 e7 1f 46 61 |.D...P..|-.<...Fa|
|000012c0| 69 6c 65 64 20 74 6f 20 | 73 65 6e 64 20 68 65 61 |iled to |send hea|
|000012d0| 72 74 62 65 61 74 20 74 | 6f 20 6d 61 73 74 65 72 |rtbeat t|o master|
|000012e0| 20 73 65 72 76 65 72 2e | 00 16 04 0b 00 00 00 02 | server.|........|
|000012f0| 00 00 00 00 00 14 01 00 | 00 00 80 05 40 00 00 00 |........|....@...|
|00001300| 00 2a 01 00 00 00 00 00 | 00 00 00 00 00 7a 01 00 |.*......|.....z..|
|00001310| 4c 01 0c 90 01 00 00 f4 | 2a 00 00 33 00 00 00 0f |L.......|*..3....|
|00001320| 00 4e 01 70 70 70 1f 5c | 00 00 4c 01 16 1f 5c 00 |.N.ppp.\|..L...\.|
|00001330| 16 19 01 89 0b 00 00 1c | 9c 00 4c 01 16 16 04 00 |........|..L.....|
|00001340| 4e 01 04 0b 00 00 00 02 | 00 00 00 00 00 54 02 00 |N.......|.....T..|
|00001350| 70 01 03 3e 01 00 00 84 | 22 00 00 ed 00 00 00 0f |p..>....|".......|
|00001360| 00 14 19 19 01 89 05 00 | 04 01 8d 06 00 00 1b 03 |........|........|
|00001370| 16 07 81 00 7b 19 19 19 | 01 89 05 00 04 01 8d 05 |....{...|........|
|00001380| 00 04 01 96 05 00 00 01 | a8 1f 00 16 0f 00 14 70 |........|.......p|
|00001390| 70 00 14 1f 5c 41 64 6d | 69 6e 4e 61 6d 65 5c 00 |p...\Adm|inName\.|
|000013a0| 16 19 19 19 01 89 05 00 | 04 01 8d 05 00 04 01 96 |........|........|
|000013b0| 05 00 00 01 a8 16 07 e5 | 00 7b 19 19 19 01 89 05 |........|.{......|
|000013c0| 00 04 01 8d 05 00 04 01 | 96 05 00 00 01 a7 1f 00 |........|........|
|000013d0| 16 0f 00 14 70 70 00 14 | 1f 5c 41 64 6d 69 6e 45 |....pp..|.\AdminE|
|000013e0| 4d 61 69 6c 5c 00 16 19 | 19 19 01 89 05 00 04 01 |Mail\...|........|
|000013f0| 8d 05 00 04 01 96 05 00 | 00 01 a7 16 04 00 14 04 |........|........|
|00001400| 0b 00 00 00 02 00 00 00 | 00 00 15 01 00 00 00 80 |........|........|
|00001410| 05 00 00 00 00 00 01 01 | 00 00 00 80 05 40 00 00 |........|.....@..|
|00001420| 00 00 73 01 00 0d 0b 52 | 01 00 00 bb 24 00 00 06 |..s....R|....$...|
|00001430| 02 00 00 0f 00 03 70 70 | 70 1f 5c 70 6c 61 79 65 |......pp|p.\playe|
|00001440| 72 5f 00 53 00 0c 16 1f | 5c 00 16 19 19 00 0d 05 |r_.S....|\.......|
|00001450| 00 04 01 9b 05 00 00 01 | b2 16 0f 00 03 70 70 70 |........|.....ppp|
|00001460| 70 00 03 1f 5c 66 72 61 | 67 73 5f 00 16 53 00 0c |p...\fra|gs_..S..|
|00001470| 16 1f 5c 00 16 53 44 19 | 19 00 0d 05 00 04 01 9b |..\..SD.|........|
|00001480| 05 00 04 01 ad 16 0f 00 | 03 70 70 70 70 00 03 1f |........|.pppp...|
|00001490| 5c 70 69 6e 67 5f 00 16 | 53 00 0c 16 1f 5c 00 16 |\ping_..|S....\..|
|000014a0| 19 00 0d 0f 00 00 1b 26 | 1f 47 45 54 50 49 4e 47 |.......&|.GETPING|
|000014b0| 00 16 16 0f 00 03 70 70 | 70 70 00 03 1f 5c 74 65 |......pp|pp...\te|
|000014c0| 61 6d 5f 00 16 53 00 0c | 16 1f 5c 00 16 52 19 19 |am_..S..|..\..R..|
|000014d0| 00 0d 05 00 04 01 9b 05 | 00 01 01 b1 16 0f 00 03 |........|........|
|000014e0| 70 70 70 70 00 03 1f 5c | 6d 65 73 68 5f 00 16 53 |pppp...\|mesh_..S|
|000014f0| 00 0c 16 1f 5c 00 16 19 | 00 0d 05 00 00 01 ae 16 |....\...|........|
|00001500| 07 a5 01 72 19 00 0d 05 | 00 04 01 a2 2a 16 19 00 |...r....|....*...|
|00001510| 0d 15 00 00 1b 22 00 0d | 00 46 01 00 47 01 16 0f |....."..|.F..G...|
|00001520| 00 03 70 70 70 70 00 03 | 1f 5c 73 6b 69 6e 5f 00 |..pppp..|.\skin_.|
|00001530| 16 53 00 0c 16 1f 5c 00 | 16 00 46 01 16 0f 00 03 |.S....\.|..F.....|
|00001540| 70 70 70 70 00 03 1f 5c | 66 61 63 65 5f 00 16 53 |pppp...\|face_..S|
|00001550| 00 0c 16 1f 5c 00 16 00 | 47 01 16 06 fe 01 0f 00 |....\...|G.......|
|00001560| 03 70 70 70 70 00 03 1f | 5c 73 6b 69 6e 5f 00 16 |.pppp...|\skin_..|
|00001570| 53 00 0c 16 1f 5c 00 16 | 56 19 00 0d 05 00 04 01 |S....\..|V.......|
|00001580| a2 16 0f 00 03 70 70 70 | 00 03 1f 5c 66 61 63 65 |.....ppp|...\face|
|00001590| 5f 00 16 53 00 0c 16 1f | 5c 4e 6f 6e 65 00 16 04 |_..S....|\None...|
|000015a0| 00 03 04 0b 00 00 00 02 | 00 00 00 00 00 4e 01 01 |........|.....N..|
|000015b0| 00 00 00 80 05 40 00 00 | 00 00 2b 01 00 00 00 80 |.....@..|..+.....|
|000015c0| 05 40 00 00 00 00 48 02 | 00 48 01 0d a6 01 00 00 |.@....H.|.H......|
|000015d0| ce 2c 00 00 60 00 00 00 | 2f 61 30 20 8f 00 4d 01 |.,..`...|/a0 ..M.|
|000015e0| 16 57 00 a5 00 4f 01 16 | 0f 00 2b 70 70 70 70 70 |.W...O..|..+ppppp|
|000015f0| 70 00 2b 1f 5c 00 16 00 | 48 01 16 1f 5f 00 16 53 |p.+.\...|H..._..S|
|00001600| 00 4f 01 16 1f 5c 00 16 | 19 00 4d 01 0b 00 00 1c |.O...\..|..M.....|
|00001610| 9c 00 48 01 16 16 31 30 | 04 00 2b 04 0b 00 00 00 |..H...10|..+.....|
|00001620| 02 00 00 00 00 00 76 01 | 00 49 01 08 77 01 00 00 |......v.|.I..w...|
|00001630| 9e 28 00 00 28 01 00 00 | 14 2d 00 23 28 0f 00 15 |.(..(...|.-.#(...|
|00001640| 19 01 89 05 00 04 01 b5 | 07 1f 01 96 00 1e 19 19 |........|........|
|00001650| 01 89 05 00 04 01 8d 05 | 00 04 01 97 16 07 08 01 |........|........|
|00001660| 19 00 15 08 00 04 61 2f | 21 1e 16 07 b7 00 82 9a |......a/|!.......|
|00001670| 00 1e 93 19 19 01 89 05 | 00 04 01 8d 05 00 04 01 |........|........|
|00001680| 97 26 16 16 18 09 00 9a | 00 59 01 26 16 16 14 2d |.&......|.Y.&...-|
|00001690| 00 2c 1b 01 00 49 01 1b | 0b 2e 8f 00 15 00 1e 16 |.,...I..|........|
|000016a0| 00 4a 01 00 4b 01 26 16 | 06 e9 00 14 2d 00 2c 1b |.J..K.&.|....-.,.|
|000016b0| 01 00 49 01 1b 0b 2e 8f | 00 15 00 1e 16 00 4a 01 |..I.....|......J.|
|000016c0| 00 4b 01 25 16 14 2d 00 | 23 84 2d 00 2c 18 07 00 |.K.%..-.|#.-.,...|
|000016d0| 2d 00 23 16 a5 00 1e 16 | 0f 00 15 19 00 15 05 00 |-.#.....|........|
|000016e0| 04 01 b8 06 1c 00 04 2d | 00 23 04 0b 00 00 00 02 |.......-|.#......|
|000016f0| 00 00 00 00 00 45 02 00 | 0a 04 a6 00 00 00 90 11 |.....E..|........|
|00001700| 00 00 67 01 00 00 07 0e | 00 7a 00 0a 1f 00 16 04 |..g.....|.z......|
|00001710| 28 07 63 01 7a 80 00 0a | 26 16 1f 5c 00 16 0f 00 |(.c.z...|&..\....|
|00001720| 12 7e ea 00 0a 93 7d 00 | 0a 16 26 16 16 1f 5c 00 |.~....}.|..&...\.|
|00001730| 16 07 47 00 9a 00 12 25 | 16 04 28 0f 00 6b 01 00 |..G....%|..(..k..|
|00001740| 0a 0f 00 1f ea 00 0a 93 | 7d 00 0a 16 26 16 16 0f |........|}...&...|
|00001750| 00 1f 80 00 1f 00 12 16 | 0f 00 0e ea 00 0a 93 7d |........|.......}|
|00001760| 00 0a 16 92 7d 00 1f 16 | 2c 02 16 16 16 07 c9 00 |....}...|,.......|
|00001770| 84 7a 00 0e 1f 00 16 18 | 0b 00 9a 7d 00 0e 16 26 |.z......|...}...&|
|00001780| 16 16 0f 00 31 1f 66 69 | 6e 61 6c 00 04 27 06 db |....1.fi|nal..'..|
|00001790| 00 07 db 00 7a 80 00 0e | 26 16 1f 5c 00 16 04 27 |....z...|&..\...'|
|000017a0| 0f 00 12 7e 00 0e 1f 5c | 00 16 07 0b 01 99 00 12 |...~...\|........|
|000017b0| 25 16 0f 00 2d 80 00 0e | 00 12 16 06 16 01 0f 00 |%...-...|........|
|000017c0| 2d 00 0e 0f 00 0e ea 00 | 0a 93 7d 00 0a 16 92 92 |-.......|..}.....|
|000017d0| 7d 00 1f 16 7d 00 2d 16 | 16 2c 03 16 16 16 07 5e |}...}.-.|.,.....^|
|000017e0| 01 7a 00 0e 1f 00 16 0f | 00 31 1f 66 69 6e 61 6c |.z......|.1.final|
|000017f0| 00 04 27 06 60 01 04 27 | 06 65 01 04 28 04 0b 00 |..'.`..'|.e..(...|
|00001800| 00 00 02 00 00 00 00 00 | 26 01 00 00 00 80 05 00 |........|&.......|
|00001810| 00 00 00 00 7f 01 00 3d | 01 eb 00 00 00 39 19 00 |.......=|.....9..|
|00001820| 00 86 00 00 00 14 2d 00 | 26 27 07 3f 00 97 92 7d |......-.|&'.?...}|
|00001830| 01 0b 16 7d 00 3e 16 16 | 1d e8 03 00 00 16 14 2d |...}.>..|.......-|
|00001840| 00 26 1b 09 00 3d 00 33 | 00 3f 25 16 0f 01 0b 70 |.&...=.3|.?%....p|
|00001850| 01 0b 00 3e 16 07 7d 00 | 9a 00 35 26 16 14 2d 00 |...>..}.|..5&..-.|
|00001860| 26 1b 09 00 3d 00 33 00 | 3f 00 35 16 04 2d 00 26 |&...=.3.|?.5..-.&|
|00001870| 04 0b 00 00 00 02 00 00 | 00 00 00 2f 01 00 00 00 |........|.../....|
|00001880| 80 05 00 00 00 00 00 43 | 02 00 53 01 09 da 00 00 |.......C|..S.....|
|00001890| 00 2f 17 00 00 78 00 00 | 00 0f 01 0b 70 70 70 70 |./...x..|....pppp|
|000018a0| 01 0b 1f 5c 71 75 65 72 | 79 69 64 5c 00 16 53 00 |...\quer|yid\..S.|
|000018b0| 50 01 16 1f 2e 00 16 53 | a3 00 57 01 16 16 07 50 |P......S|..W....P|
|000018c0| 00 9a 00 58 01 26 16 0f | 01 0b 70 01 0b 1f 5c 66 |...X.&..|..p...\f|
|000018d0| 69 6e 61 6c 5c 00 16 14 | 2d 00 2f 1b 0a 00 53 01 |inal\...|-./...S.|
|000018e0| 01 0b 16 0f 01 0b 1f 00 | 04 2d 00 2f 04 0b 00 00 |........|.-./....|
|000018f0| 00 02 00 00 00 00 00 08 | 01 00 00 00 80 05 40 00 |........|......@.|
|00001900| 00 00 00 6b 01 01 00 00 | 00 80 05 00 00 00 00 00 |...k....|........|
|00001910| 03 01 00 00 00 80 05 40 | 00 00 00 00 4b 02 00 05 |.......@|....K...|
|00001920| 06 8f 00 00 00 f0 0d 00 | 00 33 04 00 00 0f 00 07 |........|.3......|
|00001930| 25 14 2d 00 02 1b 04 00 | 52 01 00 08 00 11 00 3b |%.-.....|R......;|
|00001940| 00 07 16 07 3b 00 81 2d | 00 02 16 04 1f 00 07 76 |....;..-|.......v|
|00001950| 00 7a 00 08 1f 62 61 73 | 69 63 00 16 14 2d 00 02 |.z...bas|ic...-..|
|00001960| 1b 01 00 05 1b 07 16 00 | 04 00 06 00 07 16 06 f2 |........|........|
|00001970| 03 07 b0 00 7a 00 08 1f | 69 6e 66 6f 00 16 14 2d |....z...|info...-|
|00001980| 00 02 1b 01 00 05 1b 05 | 16 00 04 00 06 00 07 16 |........|........|
|00001990| 06 f2 03 07 eb 00 7a 00 | 08 1f 72 75 6c 65 73 00 |......z.|..rules.|
|000019a0| 16 14 2d 00 02 1b 01 00 | 05 1b 03 16 00 04 00 06 |..-.....|........|
|000019b0| 00 07 16 06 f2 03 07 65 | 01 7a 00 08 1f 70 6c 61 |.......e|.z...pla|
|000019c0| 79 65 72 73 00 16 07 3f | 01 97 19 19 01 89 05 00 |yers...?|........|
|000019d0| 04 01 8d 05 00 04 01 97 | 25 16 14 2d 00 02 1b 08 |........|%..-....|
|000019e0| 00 05 00 04 00 06 00 07 | 16 06 62 01 14 2d 00 02 |........|..b..-..|
|000019f0| 1b 01 00 05 1f 00 00 04 | 00 06 00 07 16 06 f2 03 |........|........|
|00001a00| 07 4b 02 7a 00 08 1f 73 | 74 61 74 75 73 00 16 14 |.K.z...s|tatus...|
|00001a10| 2d 00 02 1b 01 00 05 1b | 07 16 00 04 00 06 25 16 |-.......|......%.|
|00001a20| 14 2d 00 02 1b 01 00 05 | 1b 05 16 00 04 00 06 25 |.-......|.......%|
|00001a30| 16 07 04 02 9a 19 19 01 | 89 05 00 04 01 8d 05 00 |........|........|
|00001a40| 04 01 97 25 16 14 2d 00 | 02 1b 01 00 05 1b 03 16 |...%..-.|........|
|00001a50| 00 04 00 06 00 07 16 06 | 48 02 14 2d 00 02 1b 01 |........|H..-....|
|00001a60| 00 05 1b 03 16 00 04 00 | 06 25 16 14 2d 00 02 1b |........|.%..-...|
|00001a70| 08 00 05 00 04 00 06 00 | 07 16 06 f2 03 07 8e 02 |........|........|
|00001a80| 7a 00 08 1f 65 63 68 6f | 00 16 14 2d 00 02 1b 01 |z...echo|...-....|
|00001a90| 00 05 70 1f 5c 65 63 68 | 6f 5c 00 00 11 16 00 04 |..p.\ech|o\......|
|00001aa0| 00 06 00 07 16 06 f2 03 | 07 ed 02 7a 00 08 1f 73 |........|...z...s|
|00001ab0| 65 63 75 72 65 00 16 0f | 00 3a 70 1f 5c 76 61 6c |ecure...|.:p.\val|
|00001ac0| 69 64 61 74 65 5c 00 1b | 16 00 11 01 27 16 16 14 |idate\..|....'...|
|00001ad0| 2d 00 02 1b 01 00 05 00 | 3a 00 04 00 06 00 07 16 |-.......|:.......|
|00001ae0| 06 f2 03 07 36 03 7a 00 | 08 1f 6c 65 76 65 6c 5f |....6.z.|..level_|
|00001af0| 70 72 6f 70 65 72 74 79 | 00 16 14 2d 00 02 1b 01 |property|...-....|
|00001b00| 00 05 1b 0c 00 11 16 00 | 04 00 06 00 07 16 06 f2 |........|........|
|00001b10| 03 07 7e 03 7a 00 08 1f | 67 61 6d 65 5f 70 72 6f |..~.z...|game_pro|
|00001b20| 70 65 72 74 79 00 16 14 | 2d 00 02 1b 01 00 05 1b |perty...|-.......|
|00001b30| 17 00 11 16 00 04 00 06 | 00 07 16 06 f2 03 07 c8 |........|........|
|00001b40| 03 7a 00 08 1f 70 6c 61 | 79 65 72 5f 70 72 6f 70 |.z...pla|yer_prop|
|00001b50| 65 72 74 79 00 16 14 2d | 00 02 1b 01 00 05 1b 0d |erty...-|........|
|00001b60| 00 11 16 00 04 00 06 00 | 07 16 06 f2 03 e7 70 1f |........|......p.|
|00001b70| 55 64 70 53 65 72 76 65 | 72 51 75 65 72 79 3a 20 |UdpServe|rQuery: |
|00001b80| 55 6e 6b 6e 6f 77 6e 20 | 71 75 65 72 79 3a 20 00 |Unknown |query: .|
|00001b90| 00 08 16 16 07 2b 04 81 | 2d 00 02 16 e7 1f 55 64 |.....+..|-.....Ud|
|00001ba0| 70 53 65 72 76 65 72 51 | 75 65 72 79 3a 20 45 72 |pServerQ|uery: Er|
|00001bb0| 72 6f 72 20 72 65 73 70 | 6f 6e 64 69 6e 67 20 74 |ror resp|onding t|
|00001bc0| 6f 20 71 75 65 72 79 2e | 00 16 04 00 3b 04 0b 00 |o query.|....;...|
|00001bd0| 00 00 02 00 00 00 00 00 | 7b 01 00 69 01 06 dc 00 |........|{..i....|
|00001be0| 00 00 93 16 00 00 25 01 | 00 00 14 2d 00 21 1b 04 |......%.|...-.!..|
|00001bf0| 00 5f 01 00 22 00 40 01 | 00 34 00 42 01 16 07 34 |._..".@.|.4.B...4|
|00001c00| 00 81 2d 00 21 16 04 1f | 00 07 50 00 7a 00 22 1f |..-.!...|..P.z.".|
|00001c10| 62 61 73 69 63 00 16 14 | 2d 00 21 27 06 e4 00 07 |basic...|-.!'....|
|00001c20| ba 00 7a 00 22 1f 73 65 | 63 75 72 65 00 16 0f 00 |..z.".se|cure....|
|00001c30| 37 70 1f 5c 76 61 6c 69 | 64 61 74 65 5c 00 1b 16 |7p.\vali|date\...|
|00001c40| 00 40 01 19 01 13 05 00 | 00 01 27 16 16 14 2d 00 |.@......|..'...-.|
|00001c50| 21 1b 01 00 69 01 00 37 | 00 5e 01 a3 00 62 01 16 |!...i..7|.^...b..|
|00001c60| 00 42 01 16 06 e4 00 e7 | 70 1f 55 64 70 53 65 72 |.B......|p.UdpSer|
|00001c70| 76 65 72 51 75 65 72 79 | 3a 20 55 6e 6b 6e 6f 77 |verQuery|: Unknow|
|00001c80| 6e 20 71 75 65 72 79 3a | 20 00 00 22 16 16 07 1d |n query:| .."....|
|00001c90| 01 81 2d 00 21 16 e7 1f | 55 64 70 53 65 72 76 65 |..-.!...|UdpServe|
|00001ca0| 72 51 75 65 72 79 3a 20 | 45 72 72 6f 72 20 72 65 |rQuery: |Error re|
|00001cb0| 73 70 6f 6e 64 69 6e 67 | 20 74 6f 20 71 75 65 72 |sponding| to quer|
|00001cc0| 79 2e 00 16 04 00 34 04 | 0b 00 00 00 02 00 00 00 |y.....4.|........|
|00001cd0| 00 a4 47 02 00 66 01 12 | 8d 00 00 00 27 0f 00 00 |..G..f..|....'...|
|00001ce0| 9c 00 00 00 a5 01 28 16 | 07 1a 00 97 01 28 2c 64 |......(.|.....(,d|
|00001cf0| 16 0f 01 28 26 0f 00 38 | 01 28 0f 00 1c 00 5c 01 |...(&..8|.(....\.|
|00001d00| 07 47 00 7a 00 1c 1f 00 | 16 14 2d 00 18 28 06 4f |.G.z....|..-..(.O|
|00001d10| 00 14 2d 00 18 27 07 9a | 00 2d 00 18 0f 00 1c 1b |..-..'..|.-......|
|00001d20| 06 00 66 01 00 1c 00 38 | 00 6a 01 16 07 8f 00 7a |..f....8|.j.....z|
|00001d30| 00 1c 1f 00 16 14 2d 00 | 18 28 06 97 00 14 2d 00 |......-.|.(....-.|
|00001d40| 18 27 06 4f 00 04 0b 00 | 00 00 02 08 00 00 00 00 |.'.O....|........|
|00001d50| 6f 01 00 00 23 7b 00 00 | 00 ca 0d 00 00 0b 00 00 |o...#{..|........|
|00001d60| 00 61 18 1e 00 00 00 00 | 28 16 04 0b 00 00 00 02 |.a......|(.......|
|00001d70| 00 00 00 00 00 46 02 00 | 00 1b 81 00 00 00 14 0e |.....F..|........|
|00001d80| 00 00 16 00 00 00 61 18 | 3f 90 01 61 01 2c 3c 16 |......a.|?..a.,<.|
|00001d90| 27 16 1b 0f 16 04 0b 00 | 00 00 02 00 00 00 00 00 |'.......|........|
|00001da0| 72 01 00 32 17 9a 01 00 | 00 cd 2b 00 00 3c 00 00 |r..2....|..+..<..|
|00001db0| 00 0f 00 43 01 70 70 70 | 1f 5c 00 00 32 16 1f 5c |...C.ppp|.\..2..\|
|00001dc0| 00 16 19 19 01 89 05 00 | 04 01 8d 0b 00 00 1c 9c |........|........|
|00001dd0| 00 32 16 16 04 00 43 01 | 04 0b 00 00 00 02 00 00 |.2....C.|........|
|00001de0| 00 00 00 22 01 00 00 00 | 80 05 40 00 00 00 00 51 |..."....|..@....Q|
|00001df0| 01 01 00 00 00 80 05 00 | 00 00 00 00 4c 02 00 09 |........|....L...|
|00001e00| 04 59 00 00 00 fc 08 00 | 00 5b 01 00 00 07 0e 00 |.Y......|.[......|
|00001e10| 7a 00 09 1f 00 16 04 28 | 07 57 01 7a 80 00 09 26 |z......(|.W.z...&|
|00001e20| 16 1f 5c 00 16 0f 00 16 | 7e ea 00 09 93 7d 00 09 |..\.....|~....}..|
|00001e30| 16 26 16 16 1f 5c 00 16 | 07 47 00 9a 00 16 25 16 |.&...\..|.G....%.|
|00001e40| 04 28 0f 00 51 01 00 09 | 0f 00 19 ea 00 09 93 7d |.(..Q...|.......}|
|00001e50| 00 09 16 26 16 16 0f 00 | 19 80 00 19 00 16 16 0f |...&....|........|
|00001e60| 00 0f ea 00 09 93 7d 00 | 09 16 92 7d 00 19 16 2c |......}.|...}...,|
|00001e70| 02 16 16 16 07 c3 00 84 | 7a 00 0f 1f 00 16 18 0b |........|z.......|
|00001e80| 00 9a 7d 00 0f 16 26 16 | 16 0f 00 39 26 04 27 06 |..}...&.|...9&.'.|
|00001e90| d5 00 07 d5 00 7a 80 00 | 0f 26 16 1f 5c 00 16 04 |.....z..|.&..\...|
|00001ea0| 27 0f 00 16 7e 00 0f 1f | 5c 00 16 07 05 01 99 00 |'...~...|\.......|
|00001eb0| 16 25 16 0f 00 2e 80 00 | 0f 00 16 16 06 10 01 0f |.%......|........|
|00001ec0| 00 2e 00 0f 0f 00 0f ea | 00 09 93 7d 00 09 16 92 |........|...}....|
|00001ed0| 92 7d 00 19 16 7d 00 2e | 16 16 2c 03 16 16 16 07 |.}...}..|..,.....|
|00001ee0| 52 01 7a 00 0f 1f 00 16 | 0f 00 39 26 04 27 06 54 |R.z.....|..9&.'.T|
|00001ef0| 01 04 27 06 59 01 04 28 | 04 0b 00 00 00 02 00 00 |..'.Y..(|........|
|00001f00| 00 00 a4 4d 02 00 55 01 | 12 3e 00 00 00 6c 06 00 |...M..U.|.>...l..|
|00001f10| 00 ab 00 00 00 a5 01 25 | 16 07 1a 00 97 01 25 2c |.......%|......%,|
|00001f20| 64 16 0f 01 25 26 0f 00 | 30 01 25 0f 00 1d 00 54 |d...%&..|0.%....T|
|00001f30| 01 07 47 00 7a 00 1d 1f | 00 16 14 2d 00 1b 28 06 |..G.z...|...-..(.|
|00001f40| 4f 00 14 2d 00 1b 27 0f | 00 41 01 25 0f 01 0b 1f |O..-..'.|.A.%....|
|00001f50| 00 07 a9 00 2d 00 1b 0f | 00 1d 1b 06 00 55 01 00 |....-...|.....U..|
|00001f60| 1d 00 30 00 41 01 16 07 | 9e 00 7a 00 1d 1f 00 16 |..0.A...|..z.....|
|00001f70| 14 2d 00 1b 28 06 a6 00 | 14 2d 00 1b 27 06 5e 00 |.-..(...|.-..'.^.|
|00001f80| 04 0b 00 00 00 02 08 00 | 00 00 a5 4e 02 00 36 21 |........|...N..6!|
|00001f90| 2f 00 00 00 16 05 00 00 | 2e 00 00 00 2f 61 30 20 |/.......|..../a0 |
|00001fa0| 99 00 36 16 25 00 0f 19 | 00 36 05 00 04 01 b9 01 |..6.%...|.6......|
|00001fb0| 9a 31 30 1c a5 16 04 0b | 00 00 00 02 00 00 00 00 |.10.....|........|
|00001fc0| a0 56 01 00 29 18 1f 00 | 00 00 cd 03 00 00 a5 00 |.V..)...|........|
|00001fd0| 00 00 0f 01 b4 01 56 01 | 0f 00 29 1b 13 19 19 01 |......V.|..).....|
|00001fe0| 89 05 00 04 01 8d 06 00 | 04 1b 1d 16 27 16 07 65 |........|....'..e|
|00001ff0| 00 9a 00 29 25 16 e7 1f | 55 64 70 53 65 72 76 65 |...)%...|UdpServe|
|00002000| 72 51 75 65 72 79 3a 20 | 50 6f 72 74 20 66 61 69 |rQuery: |Port fai|
|00002010| 6c 65 64 20 74 6f 20 62 | 69 6e 64 2e 00 16 04 0b |led to b|ind.....|
|00002020| e7 70 70 1f 55 64 70 53 | 65 72 76 65 72 51 75 65 |.pp.UdpS|erverQue|
|00002030| 72 79 28 63 72 74 29 3a | 20 50 6f 72 74 20 00 53 |ry(crt):| Port .S|
|00002040| 00 29 16 1f 20 73 75 63 | 63 65 73 73 66 75 6c 6c |.).. suc|cessfull|
|00002050| 79 20 62 6f 75 6e 64 2e | 00 16 16 04 0b 00 00 00 |y bound.|........|
|00002060| 02 00 00 00 00 00 00 00 | 00 00 00 00 00 66 69 2f |........|.....fi/|
|00002070| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00002080| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000020a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000020b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0a |========|======..|
|000020c0| 2f 2f 20 55 64 70 53 65 | 72 76 65 72 55 70 6c 69 |// UdpSe|rverUpli|
|000020d0| 6e 6b 0d 0a 2f 2f 0d 0a | 2f 2f 20 56 65 72 73 69 |nk..//..|// Versi|
|000020e0| 6f 6e 3a 20 31 2e 33 0d | 0a 2f 2f 0d 0a 2f 2f 20 |on: 1.3.|.//..// |
|000020f0| 54 68 69 73 20 75 70 6c | 69 6e 6b 20 69 73 20 63 |This upl|ink is c|
|00002100| 6f 6d 70 6c 69 61 6e 74 | 20 77 69 74 68 20 74 68 |ompliant| with th|
|00002110| 65 20 47 61 6d 65 53 70 | 79 20 55 70 6c 69 6e 6b |e GameSp|y Uplink|
|00002120| 20 53 70 65 63 69 66 69 | 63 61 74 69 6f 6e 2e 0d | Specifi|cation..|
|00002130| 0a 2f 2f 20 54 68 65 20 | 73 70 65 63 69 66 69 63 |.// The |specific|
|00002140| 61 74 69 6f 6e 20 69 73 | 20 61 76 61 69 6c 61 62 |ation is| availab|
|00002150| 6c 65 20 61 74 20 68 74 | 74 70 3a 2f 2f 77 77 77 |le at ht|tp://www|
|00002160| 2e 67 61 6d 65 73 70 79 | 2e 63 6f 6d 2f 64 65 76 |.gamespy|.com/dev|
|00002170| 65 6c 6f 70 65 72 0d 0a | 2f 2f 20 61 6e 64 20 6d |eloper..|// and m|
|00002180| 69 67 68 74 20 62 65 20 | 6f 66 20 75 73 65 20 74 |ight be |of use t|
|00002190| 6f 20 70 72 6f 67 61 6d | 6d 65 72 73 20 77 68 6f |o progam|mers who|
|000021a0| 20 77 61 6e 74 20 74 6f | 20 61 64 61 70 74 20 74 | want to| adapt t|
|000021b0| 68 65 69 72 20 6f 77 6e | 0d 0a 2f 2f 20 73 65 72 |heir own|..// ser|
|000021c0| 76 65 72 20 75 70 6c 69 | 6e 6b 73 2e 0d 0a 2f 2f |ver upli|nks...//|
|000021d0| 0d 0a 2f 2f 20 55 64 70 | 53 65 72 76 65 72 55 70 |..// Udp|ServerUp|
|000021e0| 6c 69 6e 6b 20 73 65 6e | 64 73 20 61 20 68 65 61 |link sen|ds a hea|
|000021f0| 72 74 62 65 61 74 20 74 | 6f 20 74 68 65 20 73 70 |rtbeat t|o the sp|
|00002200| 65 63 69 66 69 65 64 20 | 6d 61 73 74 65 72 20 73 |ecified |master s|
|00002210| 65 72 76 65 72 0d 0a 2f | 2f 20 65 76 65 72 79 20 |erver../|/ every |
|00002220| 66 69 76 65 20 6d 69 6e | 75 74 65 73 2e 20 20 54 |five min|utes. T|
|00002230| 68 65 20 68 65 61 72 74 | 62 65 61 74 20 69 73 20 |he heart|beat is |
|00002240| 69 6e 20 74 68 65 20 66 | 6f 72 6d 3a 0d 0a 2f 2f |in the f|orm:..//|
|00002250| 20 20 20 20 5c 68 65 61 | 72 74 62 65 61 74 5c 51 | \hea|rtbeat\Q|
|00002260| 75 65 72 79 50 6f 72 74 | 5c 67 61 6d 65 6e 61 6d |ueryPort|\gamenam|
|00002270| 65 5c 75 6e 72 65 61 6c | 0d 0a 2f 2f 0d 0a 2f 2f |e\unreal|..//..//|
|00002280| 20 46 75 6c 6c 20 64 6f | 63 75 6d 65 6e 74 61 74 | Full do|cumentat|
|00002290| 69 6f 6e 20 6f 6e 20 74 | 68 69 73 20 63 6c 61 73 |ion on t|his clas|
|000022a0| 73 20 69 73 20 61 76 61 | 69 6c 61 62 6c 65 20 61 |s is ava|ilable a|
|000022b0| 74 20 68 74 74 70 3a 2f | 2f 75 6e 72 65 61 6c 2e |t http:/|/unreal.|
|000022c0| 65 70 69 63 67 61 6d 65 | 73 2e 63 6f 6d 2f 0d 0a |epicgame|s.com/..|
|000022d0| 2f 2f 0d 0a 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |//..//==|========|
|000022e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000022f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002300| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002310| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002320| 3d 3d 3d 0d 0a 63 6c 61 | 73 73 20 55 64 70 53 65 |===..cla|ss UdpSe|
|00002330| 72 76 65 72 55 70 6c 69 | 6e 6b 20 65 78 74 65 6e |rverUpli|nk exten|
|00002340| 64 73 20 55 64 70 4c 69 | 6e 6b 20 63 6f 6e 66 69 |ds UdpLi|nk confi|
|00002350| 67 3b 0d 0a 0d 0a 2f 2f | 20 4d 61 73 74 65 72 20 |g;....//| Master |
|00002360| 55 70 6c 69 6e 6b 20 43 | 6f 6e 66 69 67 2e 0d 0a |Uplink C|onfig...|
|00002370| 76 61 72 28 29 20 63 6f | 6e 66 69 67 20 62 6f 6f |var() co|nfig boo|
|00002380| 6c 09 09 44 6f 55 70 6c | 69 6e 6b 3b 09 09 09 09 |l..DoUpl|ink;....|
|00002390| 2f 2f 20 49 66 20 74 72 | 75 65 2c 20 64 6f 20 74 |// If tr|ue, do t|
|000023a0| 68 65 20 75 70 6c 69 6e | 6b 0d 0a 76 61 72 28 29 |he uplin|k..var()|
|000023b0| 20 63 6f 6e 66 69 67 20 | 69 6e 74 09 09 55 70 64 | config |int..Upd|
|000023c0| 61 74 65 4d 69 6e 75 74 | 65 73 3b 09 09 09 2f 2f |ateMinut|es;...//|
|000023d0| 20 50 65 72 69 6f 64 20 | 6f 66 20 75 70 64 61 74 | Period |of updat|
|000023e0| 65 20 28 69 6e 20 6d 69 | 6e 75 74 65 73 29 0d 0a |e (in mi|nutes)..|
|000023f0| 76 61 72 28 29 20 63 6f | 6e 66 69 67 20 73 74 72 |var() co|nfig str|
|00002400| 69 6e 67 20 20 20 20 20 | 4d 61 73 74 65 72 53 65 |ing |MasterSe|
|00002410| 72 76 65 72 41 64 64 72 | 65 73 73 3b 09 2f 2f 20 |rverAddr|ess;.// |
|00002420| 41 64 64 72 65 73 73 20 | 6f 66 20 74 68 65 20 6d |Address |of the m|
|00002430| 61 73 74 65 72 20 73 65 | 72 76 65 72 0d 0a 76 61 |aster se|rver..va|
|00002440| 72 28 29 20 63 6f 6e 66 | 69 67 20 69 6e 74 09 09 |r() conf|ig int..|
|00002450| 4d 61 73 74 65 72 53 65 | 72 76 65 72 50 6f 72 74 |MasterSe|rverPort|
|00002460| 3b 09 09 2f 2f 20 4f 70 | 74 69 6f 6e 61 6c 20 70 |;..// Op|tional p|
|00002470| 6f 72 74 20 74 68 61 74 | 20 74 68 65 20 6d 61 73 |ort that| the mas|
|00002480| 74 65 72 20 73 65 72 76 | 65 72 20 69 73 20 6c 69 |ter serv|er is li|
|00002490| 73 74 65 6e 69 6e 67 20 | 6f 6e 0d 0a 76 61 72 28 |stening |on..var(|
|000024a0| 29 20 63 6f 6e 66 69 67 | 20 69 6e 74 20 09 09 52 |) config| int ..R|
|000024b0| 65 67 69 6f 6e 3b 09 09 | 09 09 09 2f 2f 20 52 65 |egion;..|...// Re|
|000024c0| 67 69 6f 6e 20 6f 66 20 | 74 68 65 20 67 61 6d 65 |gion of |the game|
|000024d0| 20 73 65 72 76 65 72 0d | 0a 76 61 72 28 29 20 6e | server.|.var() n|
|000024e0| 61 6d 65 09 09 09 09 54 | 61 72 67 65 74 51 75 65 |ame....T|argetQue|
|000024f0| 72 79 4e 61 6d 65 3b 09 | 09 2f 2f 20 4e 61 6d 65 |ryName;.|.// Name|
|00002500| 20 6f 66 20 74 68 65 20 | 71 75 65 72 79 20 73 65 | of the |query se|
|00002510| 72 76 65 72 20 6f 62 6a | 65 63 74 20 74 6f 20 75 |rver obj|ect to u|
|00002520| 73 65 2e 0d 0a 76 61 72 | 20 49 70 41 64 64 72 09 |se...var| IpAddr.|
|00002530| 09 09 09 4d 61 73 74 65 | 72 53 65 72 76 65 72 49 |...Maste|rServerI|
|00002540| 70 41 64 64 72 3b 09 09 | 2f 2f 20 4d 61 73 74 65 |pAddr;..|// Maste|
|00002550| 72 20 73 65 72 76 65 72 | 27 73 20 61 64 64 72 65 |r server|'s addre|
|00002560| 73 73 2e 0d 0a 76 61 72 | 20 73 74 72 69 6e 67 09 |ss...var| string.|
|00002570| 09 20 20 20 20 20 20 20 | 20 48 65 61 72 74 62 65 |. | Heartbe|
|00002580| 61 74 4d 65 73 73 61 67 | 65 3b 09 09 2f 2f 20 54 |atMessag|e;..// T|
|00002590| 68 65 20 6d 65 73 73 61 | 67 65 20 74 68 61 74 20 |he messa|ge that |
|000025a0| 69 73 20 73 65 6e 74 20 | 74 6f 20 74 68 65 20 6d |is sent |to the m|
|000025b0| 61 73 74 65 72 20 73 65 | 72 76 65 72 2e 0d 0a 76 |aster se|rver...v|
|000025c0| 61 72 20 55 64 70 53 65 | 72 76 65 72 51 75 65 72 |ar UdpSe|rverQuer|
|000025d0| 79 20 20 20 20 20 20 51 | 75 65 72 79 3b 09 09 09 |y Q|uery;...|
|000025e0| 09 09 2f 2f 20 54 68 65 | 20 71 75 65 72 79 20 6f |..// The| query o|
|000025f0| 62 6a 65 63 74 2e 0d 0a | 76 61 72 20 69 6e 74 09 |bject...|var int.|
|00002600| 09 09 09 20 20 20 20 43 | 75 72 72 65 6e 74 51 75 |... C|urrentQu|
|00002610| 65 72 79 4e 75 6d 3b 09 | 09 2f 2f 20 51 75 65 72 |eryNum;.|.// Quer|
|00002620| 79 20 49 44 20 4e 75 6d | 62 65 72 2e 0d 0a 0d 0a |y ID Num|ber.....|
|00002630| 2f 2f 20 49 6e 69 74 69 | 61 6c 69 7a 65 2e 0d 0a |// Initi|alize...|
|00002640| 66 75 6e 63 74 69 6f 6e | 20 50 72 65 42 65 67 69 |function| PreBegi|
|00002650| 6e 50 6c 61 79 28 29 0d | 0a 7b 0d 0a 09 2f 2f 20 |nPlay().|.{...// |
|00002660| 49 66 20 6d 61 73 74 65 | 72 20 73 65 72 76 65 72 |If maste|r server|
|00002670| 20 75 70 6c 69 6e 6b 20 | 69 73 6e 27 74 20 77 61 | uplink |isn't wa|
|00002680| 6e 74 65 64 2c 20 65 78 | 69 74 2e 0d 0a 09 69 66 |nted, ex|it....if|
|00002690| 28 20 21 44 6f 55 70 6c | 69 6e 6b 20 29 0d 0a 09 |( !DoUpl|ink )...|
|000026a0| 7b 0d 0a 09 09 4c 6f 67 | 28 22 44 6f 55 70 6c 69 |{....Log|("DoUpli|
|000026b0| 6e 6b 20 69 73 20 6e 6f | 74 20 73 65 74 2e 20 20 |nk is no|t set. |
|000026c0| 4e 6f 74 20 63 6f 6e 6e | 65 63 74 69 6e 67 20 74 |Not conn|ecting t|
|000026d0| 6f 20 4d 61 73 74 65 72 | 20 53 65 72 76 65 72 2e |o Master| Server.|
|000026e0| 22 29 3b 0d 0a 09 09 72 | 65 74 75 72 6e 3b 0d 0a |");....r|eturn;..|
|000026f0| 09 7d 0d 0a 0d 0a 2f 2a | 0d 0a 09 69 66 28 20 4c |.}..../*|...if( L|
|00002700| 65 76 65 6c 2e 4e 65 74 | 4d 6f 64 65 20 3d 3d 20 |evel.Net|Mode == |
|00002710| 4e 4d 5f 4c 69 73 74 65 | 6e 53 65 72 76 65 72 20 |NM_Liste|nServer |
|00002720| 29 0d 0a 09 7b 0d 0a 09 | 09 4c 6f 67 28 22 54 68 |)...{...|.Log("Th|
|00002730| 69 73 20 69 73 20 61 20 | 4c 69 73 74 65 6e 20 73 |is is a |Listen s|
|00002740| 65 72 76 65 72 2e 20 20 | 4e 6f 74 20 63 6f 6e 6e |erver. |Not conn|
|00002750| 65 63 74 69 6e 67 20 74 | 6f 20 4d 61 73 74 65 72 |ecting t|o Master|
|00002760| 20 53 65 72 76 65 72 2e | 22 29 3b 0d 0a 09 09 72 | Server.|");....r|
|00002770| 65 74 75 72 6e 3b 0d 0a | 09 7d 0d 0a 2a 2f 0d 0a |eturn;..|.}..*/..|
|00002780| 0d 0a 09 2f 2f 20 46 69 | 6e 64 20 61 20 74 68 65 |...// Fi|nd a the|
|00002790| 20 73 65 72 76 65 72 20 | 71 75 65 72 79 20 68 61 | server |query ha|
|000027a0| 6e 64 6c 65 72 2e 0d 0a | 09 66 6f 72 65 61 63 68 |ndler...|.foreach|
|000027b0| 20 41 6c 6c 41 63 74 6f | 72 73 28 63 6c 61 73 73 | AllActo|rs(class|
|000027c0| 27 55 64 70 53 65 72 76 | 65 72 51 75 65 72 79 27 |'UdpServ|erQuery'|
|000027d0| 2c 20 51 75 65 72 79 2c | 20 54 61 72 67 65 74 51 |, Query,| TargetQ|
|000027e0| 75 65 72 79 4e 61 6d 65 | 29 0d 0a 09 09 62 72 65 |ueryName|)....bre|
|000027f0| 61 6b 3b 0d 0a 0d 0a 09 | 69 66 28 20 51 75 65 72 |ak;.....|if( Quer|
|00002800| 79 3d 3d 4e 6f 6e 65 20 | 29 0d 0a 09 7b 0d 0a 09 |y==None |)...{...|
|00002810| 09 4c 6f 67 28 22 55 64 | 70 53 65 72 76 65 72 55 |.Log("Ud|pServerU|
|00002820| 70 6c 69 6e 6b 3a 20 43 | 6f 75 6c 64 20 6e 6f 74 |plink: C|ould not|
|00002830| 20 66 69 6e 64 20 61 20 | 55 64 70 53 65 72 76 65 | find a |UdpServe|
|00002840| 72 51 75 65 72 79 20 6f | 62 6a 65 63 74 2c 20 61 |rQuery o|bject, a|
|00002850| 62 6f 72 74 69 6e 67 2e | 22 29 3b 0d 0a 09 09 72 |borting.|");....r|
|00002860| 65 74 75 72 6e 3b 0d 0a | 09 7d 0d 0a 0d 0a 09 2f |eturn;..|.}...../|
|00002870| 2f 20 53 65 74 20 68 65 | 61 72 74 62 65 61 74 20 |/ Set he|artbeat |
|00002880| 6d 65 73 73 61 67 65 2e | 0d 0a 09 48 65 61 72 74 |message.|...Heart|
|00002890| 62 65 61 74 4d 65 73 73 | 61 67 65 20 3d 20 22 5c |beatMess|age = "\|
|000028a0| 5c 68 65 61 72 74 62 65 | 61 74 5c 5c 22 24 51 75 |\heartbe|at\\"$Qu|
|000028b0| 65 72 79 2e 50 6f 72 74 | 24 22 5c 5c 67 61 6d 65 |ery.Port|$"\\game|
|000028c0| 6e 61 6d 65 5c 5c 22 24 | 51 75 65 72 79 2e 47 61 |name\\"$|Query.Ga|
|000028d0| 6d 65 4e 61 6d 65 3b 0d | 0a 0d 0a 09 2f 2f 20 53 |meName;.|....// S|
|000028e0| 65 74 20 74 68 65 20 50 | 6f 72 74 2e 0d 0a 09 4d |et the P|ort....M|
|000028f0| 61 73 74 65 72 53 65 72 | 76 65 72 49 70 41 64 64 |asterSer|verIpAdd|
|00002900| 72 2e 50 6f 72 74 20 3d | 20 4d 61 73 74 65 72 53 |r.Port =| MasterS|
|00002910| 65 72 76 65 72 50 6f 72 | 74 3b 0d 0a 0d 0a 09 2f |erverPor|t;...../|
|00002920| 2f 20 52 65 73 6f 6c 76 | 65 20 74 68 65 20 41 64 |/ Resolv|e the Ad|
|00002930| 64 72 65 73 73 2e 0d 0a | 09 69 66 28 20 4d 61 73 |dress...|.if( Mas|
|00002940| 74 65 72 53 65 72 76 65 | 72 41 64 64 72 65 73 73 |terServe|rAddress|
|00002950| 3d 3d 22 22 20 29 0d 0a | 09 09 4d 61 73 74 65 72 |=="" )..|..Master|
|00002960| 53 65 72 76 65 72 41 64 | 64 72 65 73 73 20 3d 20 |ServerAd|dress = |
|00002970| 22 6d 61 73 74 65 72 22 | 24 52 65 67 69 6f 6e 24 |"master"|$Region$|
|00002980| 22 2e 67 61 6d 65 73 70 | 79 2e 63 6f 6d 22 3b 0d |".gamesp|y.com";.|
|00002990| 0a 09 52 65 73 6f 6c 76 | 65 28 20 4d 61 73 74 65 |..Resolv|e( Maste|
|000029a0| 72 53 65 72 76 65 72 41 | 64 64 72 65 73 73 20 29 |rServerA|ddress )|
|000029b0| 3b 0d 0a 7d 0d 0a 0d 0a | 2f 2f 20 57 68 65 6e 20 |;..}....|// When |
|000029c0| 6d 61 73 74 65 72 20 73 | 65 72 76 65 72 20 61 64 |master s|erver ad|
|000029d0| 64 72 65 73 73 20 69 73 | 20 72 65 73 6f 6c 76 65 |dress is| resolve|
|000029e0| 64 2e 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 52 65 73 |d...func|tion Res|
|000029f0| 6f 6c 76 65 64 28 20 49 | 70 41 64 64 72 20 41 64 |olved( I|pAddr Ad|
|00002a00| 64 72 20 29 0d 0a 7b 0d | 0a 09 6c 6f 63 61 6c 20 |dr )..{.|..local |
|00002a10| 62 6f 6f 6c 20 52 65 73 | 75 6c 74 3b 0d 0a 09 6c |bool Res|ult;...l|
|00002a20| 6f 63 61 6c 20 69 6e 74 | 20 55 70 6c 69 6e 6b 50 |ocal int| UplinkP|
|00002a30| 6f 72 74 3b 0d 0a 0d 0a | 09 2f 2f 20 53 65 74 20 |ort;....|.// Set |
|00002a40| 74 68 65 20 61 64 64 72 | 65 73 73 0d 0a 09 4d 61 |the addr|ess...Ma|
|00002a50| 73 74 65 72 53 65 72 76 | 65 72 49 70 41 64 64 72 |sterServ|erIpAddr|
|00002a60| 2e 41 64 64 72 20 3d 20 | 41 64 64 72 2e 41 64 64 |.Addr = |Addr.Add|
|00002a70| 72 3b 0d 0a 0d 0a 09 2f | 2f 20 48 61 6e 64 6c 65 |r;...../|/ Handle|
|00002a80| 20 66 61 69 6c 75 72 65 | 2e 0d 0a 09 69 66 28 20 | failure|....if( |
|00002a90| 4d 61 73 74 65 72 53 65 | 72 76 65 72 49 70 41 64 |MasterSe|rverIpAd|
|00002aa0| 64 72 2e 41 64 64 72 20 | 3d 3d 20 30 20 29 0d 0a |dr.Addr |== 0 )..|
|00002ab0| 09 7b 0d 0a 09 09 4c 6f | 67 28 22 55 64 70 53 65 |.{....Lo|g("UdpSe|
|00002ac0| 72 76 65 72 55 70 6c 69 | 6e 6b 3a 20 49 6e 76 61 |rverUpli|nk: Inva|
|00002ad0| 6c 69 64 20 6d 61 73 74 | 65 72 20 73 65 72 76 65 |lid mast|er serve|
|00002ae0| 72 20 61 64 64 72 65 73 | 73 2c 20 61 62 6f 72 74 |r addres|s, abort|
|00002af0| 69 6e 67 2e 22 29 3b 0d | 0a 09 09 72 65 74 75 72 |ing.");.|...retur|
|00002b00| 6e 3b 0d 0a 09 7d 0d 0a | 0d 0a 09 2f 2f 20 44 69 |n;...}..|...// Di|
|00002b10| 73 70 6c 61 79 20 73 75 | 63 63 65 73 73 20 6d 65 |splay su|ccess me|
|00002b20| 73 73 61 67 65 2e 0d 0a | 09 4c 6f 67 28 22 55 64 |ssage...|.Log("Ud|
|00002b30| 70 53 65 72 76 65 72 55 | 70 6c 69 6e 6b 3a 20 4d |pServerU|plink: M|
|00002b40| 61 73 74 65 72 20 53 65 | 72 76 65 72 20 69 73 20 |aster Se|rver is |
|00002b50| 22 24 4d 61 73 74 65 72 | 53 65 72 76 65 72 41 64 |"$Master|ServerAd|
|00002b60| 64 72 65 73 73 24 22 3a | 22 24 4d 61 73 74 65 72 |dress$":|"$Master|
|00002b70| 53 65 72 76 65 72 49 70 | 41 64 64 72 2e 50 6f 72 |ServerIp|Addr.Por|
|00002b80| 74 29 3b 0d 0a 09 0d 0a | 09 2f 2f 20 42 69 6e 64 |t);.....|.// Bind|
|00002b90| 20 74 68 65 20 6c 6f 63 | 61 6c 20 70 6f 72 74 2e | the loc|al port.|
|00002ba0| 0d 0a 09 55 70 6c 69 6e | 6b 50 6f 72 74 20 3d 20 |...Uplin|kPort = |
|00002bb0| 51 75 65 72 79 2e 50 6f | 72 74 20 2b 20 31 3b 0d |Query.Po|rt + 1;.|
|00002bc0| 0a 09 69 66 28 20 42 69 | 6e 64 50 6f 72 74 28 55 |..if( Bi|ndPort(U|
|00002bd0| 70 6c 69 6e 6b 50 6f 72 | 74 2c 20 74 72 75 65 29 |plinkPor|t, true)|
|00002be0| 20 3d 3d 20 30 20 29 0d | 0a 09 7b 0d 0a 09 09 4c | == 0 ).|..{....L|
|00002bf0| 6f 67 28 20 22 55 64 70 | 53 65 72 76 65 72 55 70 |og( "Udp|ServerUp|
|00002c00| 6c 69 6e 6b 3a 20 45 72 | 72 6f 72 20 62 69 6e 64 |link: Er|ror bind|
|00002c10| 69 6e 67 20 70 6f 72 74 | 2c 20 61 62 6f 72 74 69 |ing port|, aborti|
|00002c20| 6e 67 2e 22 20 29 3b 0d | 0a 09 09 72 65 74 75 72 |ng." );.|...retur|
|00002c30| 6e 3b 0d 0a 09 7d 0d 0a | 09 4c 6f 67 28 22 55 64 |n;...}..|.Log("Ud|
|00002c40| 70 53 65 72 76 65 72 55 | 70 6c 69 6e 6b 3a 20 50 |pServerU|plink: P|
|00002c50| 6f 72 74 20 22 24 55 70 | 6c 69 6e 6b 50 6f 72 74 |ort "$Up|linkPort|
|00002c60| 24 22 20 73 75 63 63 65 | 73 73 66 75 6c 6c 79 20 |$" succe|ssfully |
|00002c70| 62 6f 75 6e 64 2e 22 29 | 3b 0d 0a 0d 0a 09 2f 2f |bound.")|;.....//|
|00002c80| 20 53 74 61 72 74 20 74 | 72 61 6e 73 6d 69 74 74 | Start t|ransmitt|
|00002c90| 69 6e 67 2e 0d 0a 09 52 | 65 73 75 6d 65 28 29 3b |ing....R|esume();|
|00002ca0| 0d 0a 7d 0d 0a 0d 0a 2f | 2f 20 48 6f 73 74 20 72 |..}..../|/ Host r|
|00002cb0| 65 73 6f 6c 75 74 69 6f | 6e 20 66 61 69 6c 75 65 |esolutio|n failue|
|00002cc0| 2e 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 52 65 73 6f |...funct|ion Reso|
|00002cd0| 6c 76 65 46 61 69 6c 65 | 64 28 29 0d 0a 7b 0d 0a |lveFaile|d()..{..|
|00002ce0| 09 4c 6f 67 28 22 55 64 | 70 53 65 72 76 65 72 55 |.Log("Ud|pServerU|
|00002cf0| 70 6c 69 6e 6b 3a 20 46 | 61 69 6c 65 64 20 74 6f |plink: F|ailed to|
|00002d00| 20 72 65 73 6f 6c 76 65 | 20 6d 61 73 74 65 72 20 | resolve| master |
|00002d10| 73 65 72 76 65 72 20 61 | 64 64 72 65 73 73 2c 20 |server a|ddress, |
|00002d20| 61 62 6f 72 74 69 6e 67 | 2e 22 29 3b 0d 0a 7d 0d |aborting|.");..}.|
|00002d30| 0a 0d 0a 2f 2f 20 4e 6f | 74 69 66 79 20 74 68 65 |...// No|tify the|
|00002d40| 20 4d 61 73 74 65 72 53 | 65 72 76 65 72 20 77 65 | MasterS|erver we|
|00002d50| 20 65 78 69 73 74 2e 0d | 0a 66 75 6e 63 74 69 6f | exist..|.functio|
|00002d60| 6e 20 54 69 6d 65 72 28 | 29 0d 0a 7b 0d 0a 09 6c |n Timer(|)..{...l|
|00002d70| 6f 63 61 6c 20 62 6f 6f | 6c 20 52 65 73 75 6c 74 |ocal boo|l Result|
|00002d80| 3b 0d 0a 0d 0a 09 52 65 | 73 75 6c 74 20 3d 20 53 |;.....Re|sult = S|
|00002d90| 65 6e 64 54 65 78 74 28 | 20 4d 61 73 74 65 72 53 |endText(| MasterS|
|00002da0| 65 72 76 65 72 49 70 41 | 64 64 72 2c 20 48 65 61 |erverIpA|ddr, Hea|
|00002db0| 72 74 62 65 61 74 4d 65 | 73 73 61 67 65 20 29 3b |rtbeatMe|ssage );|
|00002dc0| 0d 0a 09 69 66 20 28 20 | 21 52 65 73 75 6c 74 20 |...if ( |!Result |
|00002dd0| 29 0d 0a 09 09 4c 6f 67 | 28 20 22 46 61 69 6c 65 |)....Log|( "Faile|
|00002de0| 64 20 74 6f 20 73 65 6e | 64 20 68 65 61 72 74 62 |d to sen|d heartb|
|00002df0| 65 61 74 20 74 6f 20 6d | 61 73 74 65 72 20 73 65 |eat to m|aster se|
|00002e00| 72 76 65 72 2e 22 29 3b | 0d 0a 7d 0d 0a 0d 0a 2f |rver.");|..}..../|
|00002e10| 2f 20 53 74 6f 70 20 74 | 68 65 20 75 70 6c 69 6e |/ Stop t|he uplin|
|00002e20| 6b 2e 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 48 61 6c |k...func|tion Hal|
|00002e30| 74 28 29 0d 0a 7b 0d 0a | 09 53 65 74 54 69 6d 65 |t()..{..|.SetTime|
|00002e40| 72 28 30 2e 30 2c 20 66 | 61 6c 73 65 29 3b 0d 0a |r(0.0, f|alse);..|
|00002e50| 7d 0d 0a 0d 0a 2f 2f 20 | 52 65 73 75 6d 65 20 74 |}....// |Resume t|
|00002e60| 68 65 20 75 70 6c 69 6e | 6b 2e 0d 0a 66 75 6e 63 |he uplin|k...func|
|00002e70| 74 69 6f 6e 20 52 65 73 | 75 6d 65 28 29 0d 0a 7b |tion Res|ume()..{|
|00002e80| 0d 0a 09 53 65 74 54 69 | 6d 65 72 28 55 70 64 61 |...SetTi|mer(Upda|
|00002e90| 74 65 4d 69 6e 75 74 65 | 73 20 2a 20 36 30 2c 20 |teMinute|s * 60, |
|00002ea0| 74 72 75 65 29 3b 0d 0a | 09 54 69 6d 65 72 28 29 |true);..|.Timer()|
|00002eb0| 3b 0d 0a 7d 0d 0a 0d 0a | 2f 2f 20 52 65 63 65 69 |;..}....|// Recei|
|00002ec0| 76 65 64 20 61 20 71 75 | 65 72 79 20 72 65 71 75 |ved a qu|ery requ|
|00002ed0| 65 73 74 2e 0d 0a 65 76 | 65 6e 74 20 52 65 63 65 |est...ev|ent Rece|
|00002ee0| 69 76 65 64 54 65 78 74 | 28 20 49 70 41 64 64 72 |ivedText|( IpAddr|
|00002ef0| 20 41 64 64 72 2c 20 73 | 74 72 69 6e 67 20 54 65 | Addr, s|tring Te|
|00002f00| 78 74 20 29 0d 0a 7b 0d | 0a 09 6c 6f 63 61 6c 20 |xt )..{.|..local |
|00002f10| 73 74 72 69 6e 67 20 51 | 75 65 72 79 3b 0d 0a 09 |string Q|uery;...|
|00002f20| 6c 6f 63 61 6c 20 62 6f | 6f 6c 20 51 75 65 72 79 |local bo|ol Query|
|00002f30| 52 65 6d 61 69 6e 69 6e | 67 3b 0d 0a 09 6c 6f 63 |Remainin|g;...loc|
|00002f40| 61 6c 20 69 6e 74 20 20 | 51 75 65 72 79 4e 75 6d |al int |QueryNum|
|00002f50| 2c 20 50 61 63 6b 65 74 | 4e 75 6d 3b 0d 0a 0d 0a |, Packet|Num;....|
|00002f60| 09 2f 2f 20 41 73 73 69 | 67 6e 20 74 68 69 73 20 |.// Assi|gn this |
|00002f70| 70 61 63 6b 65 74 20 61 | 20 75 6e 69 71 75 65 20 |packet a| unique |
|00002f80| 76 61 6c 75 65 20 66 72 | 6f 6d 20 31 20 74 6f 20 |value fr|om 1 to |
|00002f90| 31 30 30 0d 0a 09 43 75 | 72 72 65 6e 74 51 75 65 |100...Cu|rrentQue|
|00002fa0| 72 79 4e 75 6d 2b 2b 3b | 0d 0a 09 69 66 20 28 43 |ryNum++;|...if (C|
|00002fb0| 75 72 72 65 6e 74 51 75 | 65 72 79 4e 75 6d 20 3e |urrentQu|eryNum >|
|00002fc0| 20 31 30 30 29 0d 0a 09 | 09 43 75 72 72 65 6e 74 | 100)...|.Current|
|00002fd0| 51 75 65 72 79 4e 75 6d | 20 3d 20 31 3b 0d 0a 09 |QueryNum| = 1;...|
|00002fe0| 51 75 65 72 79 4e 75 6d | 20 3d 20 43 75 72 72 65 |QueryNum| = Curre|
|00002ff0| 6e 74 51 75 65 72 79 4e | 75 6d 3b 0d 0a 0d 0a 09 |ntQueryN|um;.....|
|00003000| 51 75 65 72 79 20 3d 20 | 54 65 78 74 3b 0d 0a 09 |Query = |Text;...|
|00003010| 69 66 20 28 51 75 65 72 | 79 20 3d 3d 20 22 22 29 |if (Quer|y == "")|
|00003020| 09 09 2f 2f 20 49 66 20 | 74 68 65 20 73 74 72 69 |..// If |the stri|
|00003030| 6e 67 20 69 73 20 65 6d | 70 74 79 2c 20 64 6f 6e |ng is em|pty, don|
|00003040| 27 74 20 70 61 72 73 65 | 20 69 74 0d 0a 09 09 51 |'t parse| it....Q|
|00003050| 75 65 72 79 52 65 6d 61 | 69 6e 69 6e 67 20 3d 20 |ueryRema|ining = |
|00003060| 66 61 6c 73 65 3b 0d 0a | 09 65 6c 73 65 0d 0a 09 |false;..|.else...|
|00003070| 09 51 75 65 72 79 52 65 | 6d 61 69 6e 69 6e 67 20 |.QueryRe|maining |
|00003080| 3d 20 74 72 75 65 3b 0d | 0a 09 0d 0a 09 77 68 69 |= true;.|.....whi|
|00003090| 6c 65 20 28 51 75 65 72 | 79 52 65 6d 61 69 6e 69 |le (Quer|yRemaini|
|000030a0| 6e 67 29 20 7b 0d 0a 09 | 09 51 75 65 72 79 20 3d |ng) {...|.Query =|
|000030b0| 20 50 61 72 73 65 51 75 | 65 72 79 28 41 64 64 72 | ParseQu|ery(Addr|
|000030c0| 2c 20 51 75 65 72 79 2c | 20 51 75 65 72 79 4e 75 |, Query,| QueryNu|
|000030d0| 6d 2c 20 50 61 63 6b 65 | 74 4e 75 6d 29 3b 0d 0a |m, Packe|tNum);..|
|000030e0| 09 09 69 66 20 28 51 75 | 65 72 79 20 3d 3d 20 22 |..if (Qu|ery == "|
|000030f0| 22 29 0d 0a 09 09 09 51 | 75 65 72 79 52 65 6d 61 |").....Q|ueryRema|
|00003100| 69 6e 69 6e 67 20 3d 20 | 66 61 6c 73 65 3b 0d 0a |ining = |false;..|
|00003110| 09 09 65 6c 73 65 0d 0a | 09 09 09 51 75 65 72 79 |..else..|...Query|
|00003120| 52 65 6d 61 69 6e 69 6e | 67 20 3d 20 74 72 75 65 |Remainin|g = true|
|00003130| 3b 0d 0a 09 7d 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |;...}..}|....func|
|00003140| 74 69 6f 6e 20 62 6f 6f | 6c 20 50 61 72 73 65 4e |tion boo|l ParseN|
|00003150| 65 78 74 51 75 65 72 79 | 28 20 73 74 72 69 6e 67 |extQuery|( string|
|00003160| 20 51 75 65 72 79 2c 20 | 6f 75 74 20 73 74 72 69 | Query, |out stri|
|00003170| 6e 67 20 51 75 65 72 79 | 54 79 70 65 2c 20 6f 75 |ng Query|Type, ou|
|00003180| 74 20 73 74 72 69 6e 67 | 20 51 75 65 72 79 56 61 |t string| QueryVa|
|00003190| 6c 75 65 2c 20 6f 75 74 | 20 73 74 72 69 6e 67 20 |lue, out| string |
|000031a0| 51 75 65 72 79 52 65 73 | 74 2c 20 6f 75 74 20 73 |QueryRes|t, out s|
|000031b0| 74 72 69 6e 67 20 46 69 | 6e 61 6c 50 61 63 6b 65 |tring Fi|nalPacke|
|000031c0| 74 20 29 0d 0a 7b 0d 0a | 09 6c 6f 63 61 6c 20 73 |t )..{..|.local s|
|000031d0| 74 72 69 6e 67 20 54 65 | 6d 70 51 75 65 72 79 3b |tring Te|mpQuery;|
|000031e0| 0d 0a 09 6c 6f 63 61 6c | 20 69 6e 74 20 43 6c 6f |...local| int Clo|
|000031f0| 73 69 6e 67 53 6c 61 73 | 68 3b 0d 0a 0d 0a 09 69 |singSlas|h;.....i|
|00003200| 66 20 28 51 75 65 72 79 | 20 3d 3d 20 22 22 29 0d |f (Query| == "").|
|00003210| 0a 09 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00003220| 0d 0a 0d 0a 09 2f 2f 20 | 51 75 65 72 79 20 73 68 |.....// |Query sh|
|00003230| 6f 75 6c 64 20 62 65 3a | 0d 0a 09 2f 2f 20 20 20 |ould be:|...// |
|00003240| 5c 5b 74 79 70 65 5d 5c | 3c 76 61 6c 75 65 3e 0d |\[type]\|<value>.|
|00003250| 0a 09 69 66 20 28 4c 65 | 66 74 28 51 75 65 72 79 |..if (Le|ft(Query|
|00003260| 2c 20 31 29 20 3d 3d 20 | 22 5c 5c 22 29 0d 0a 09 |, 1) == |"\\")...|
|00003270| 7b 0d 0a 09 09 2f 2f 20 | 43 68 65 63 6b 20 74 6f |{....// |Check to|
|00003280| 20 73 65 65 20 69 66 20 | 63 6c 6f 73 65 64 2e 0d | see if |closed..|
|00003290| 0a 09 09 43 6c 6f 73 69 | 6e 67 53 6c 61 73 68 20 |...Closi|ngSlash |
|000032a0| 3d 20 49 6e 53 74 72 28 | 52 69 67 68 74 28 51 75 |= InStr(|Right(Qu|
|000032b0| 65 72 79 2c 20 4c 65 6e | 28 51 75 65 72 79 29 2d |ery, Len|(Query)-|
|000032c0| 31 29 2c 20 22 5c 5c 22 | 29 3b 0d 0a 09 09 69 66 |1), "\\"|);....if|
|000032d0| 20 28 43 6c 6f 73 69 6e | 67 53 6c 61 73 68 20 3d | (Closin|gSlash =|
|000032e0| 3d 20 30 29 0d 0a 09 09 | 09 72 65 74 75 72 6e 20 |= 0)....|.return |
|000032f0| 66 61 6c 73 65 3b 0d 0a | 0d 0a 09 09 54 65 6d 70 |false;..|....Temp|
|00003300| 51 75 65 72 79 20 3d 20 | 51 75 65 72 79 3b 0d 0a |Query = |Query;..|
|00003310| 0d 0a 09 09 2f 2f 20 51 | 75 65 72 79 20 6c 6f 6f |....// Q|uery loo|
|00003320| 6b 73 20 6c 69 6b 65 3a | 0d 0a 09 09 2f 2f 20 20 |ks like:|....// |
|00003330| 5c 5b 74 79 70 65 5d 5c | 0d 0a 09 09 51 75 65 72 |\[type]\|....Quer|
|00003340| 79 54 79 70 65 20 3d 20 | 52 69 67 68 74 28 51 75 |yType = |Right(Qu|
|00003350| 65 72 79 2c 20 4c 65 6e | 28 51 75 65 72 79 29 2d |ery, Len|(Query)-|
|00003360| 31 29 3b 0d 0a 09 09 51 | 75 65 72 79 54 79 70 65 |1);....Q|ueryType|
|00003370| 20 3d 20 4c 65 66 74 28 | 51 75 65 72 79 54 79 70 | = Left(|QueryTyp|
|00003380| 65 2c 20 43 6c 6f 73 69 | 6e 67 53 6c 61 73 68 29 |e, Closi|ngSlash)|
|00003390| 3b 0d 0a 0d 0a 09 09 51 | 75 65 72 79 52 65 73 74 |;......Q|ueryRest|
|000033a0| 20 3d 20 52 69 67 68 74 | 28 51 75 65 72 79 2c 20 | = Right|(Query, |
|000033b0| 4c 65 6e 28 51 75 65 72 | 79 29 20 2d 20 28 4c 65 |Len(Quer|y) - (Le|
|000033c0| 6e 28 51 75 65 72 79 54 | 79 70 65 29 20 2b 20 32 |n(QueryT|ype) + 2|
|000033d0| 29 29 3b 0d 0a 0d 0a 09 | 09 69 66 20 28 28 51 75 |));.....|.if ((Qu|
|000033e0| 65 72 79 52 65 73 74 20 | 3d 3d 20 22 22 29 20 7c |eryRest |== "") ||
|000033f0| 7c 20 28 4c 65 6e 28 51 | 75 65 72 79 52 65 73 74 || (Len(Q|ueryRest|
|00003400| 29 20 3d 3d 20 31 29 29 | 0d 0a 09 09 7b 0d 0a 09 |) == 1))|....{...|
|00003410| 09 09 46 69 6e 61 6c 50 | 61 63 6b 65 74 20 3d 20 |..FinalP|acket = |
|00003420| 22 66 69 6e 61 6c 22 3b | 0d 0a 09 09 09 72 65 74 |"final";|.....ret|
|00003430| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 09 7d 20 65 |urn true|;....} e|
|00003440| 6c 73 65 20 69 66 20 28 | 4c 65 66 74 28 51 75 65 |lse if (|Left(Que|
|00003450| 72 79 52 65 73 74 2c 20 | 31 29 20 3d 3d 20 22 5c |ryRest, |1) == "\|
|00003460| 5c 22 29 0d 0a 09 09 09 | 72 65 74 75 72 6e 20 74 |\").....|return t|
|00003470| 72 75 65 3b 09 2f 2f 20 | 5c 74 79 70 65 5c 5c 0d |rue;.// |\type\\.|
|00003480| 0a 0d 0a 09 09 2f 2f 20 | 51 75 65 72 79 20 6c 6f |.....// |Query lo|
|00003490| 6f 6b 73 20 6c 69 6b 65 | 3a 0d 0a 09 09 2f 2f 20 |oks like|:....// |
|000034a0| 20 5c 74 79 70 65 5c 76 | 61 6c 75 65 0d 0a 09 09 | \type\v|alue....|
|000034b0| 43 6c 6f 73 69 6e 67 53 | 6c 61 73 68 20 3d 20 49 |ClosingS|lash = I|
|000034c0| 6e 53 74 72 28 51 75 65 | 72 79 52 65 73 74 2c 20 |nStr(Que|ryRest, |
|000034d0| 22 5c 5c 22 29 3b 0d 0a | 09 09 69 66 20 28 43 6c |"\\");..|..if (Cl|
|000034e0| 6f 73 69 6e 67 53 6c 61 | 73 68 20 3e 3d 20 30 29 |osingSla|sh >= 0)|
|000034f0| 0d 0a 09 09 09 51 75 65 | 72 79 56 61 6c 75 65 20 |.....Que|ryValue |
|00003500| 3d 20 4c 65 66 74 28 51 | 75 65 72 79 52 65 73 74 |= Left(Q|ueryRest|
|00003510| 2c 20 43 6c 6f 73 69 6e | 67 53 6c 61 73 68 29 3b |, Closin|gSlash);|
|00003520| 0d 0a 09 09 65 6c 73 65 | 0d 0a 09 09 09 51 75 65 |....else|.....Que|
|00003530| 72 79 56 61 6c 75 65 20 | 3d 20 51 75 65 72 79 52 |ryValue |= QueryR|
|00003540| 65 73 74 3b 0d 0a 0d 0a | 09 09 51 75 65 72 79 52 |est;....|..QueryR|
|00003550| 65 73 74 20 3d 20 52 69 | 67 68 74 28 51 75 65 72 |est = Ri|ght(Quer|
|00003560| 79 2c 20 4c 65 6e 28 51 | 75 65 72 79 29 20 2d 20 |y, Len(Q|uery) - |
|00003570| 28 4c 65 6e 28 51 75 65 | 72 79 54 79 70 65 29 20 |(Len(Que|ryType) |
|00003580| 2b 20 4c 65 6e 28 51 75 | 65 72 79 56 61 6c 75 65 |+ Len(Qu|eryValue|
|00003590| 29 20 2b 20 33 29 29 3b | 0d 0a 09 09 69 66 20 28 |) + 3));|....if (|
|000035a0| 51 75 65 72 79 52 65 73 | 74 20 3d 3d 20 22 22 29 |QueryRes|t == "")|
|000035b0| 0d 0a 09 09 7b 0d 0a 09 | 09 09 46 69 6e 61 6c 50 |....{...|..FinalP|
|000035c0| 61 63 6b 65 74 20 3d 20 | 22 66 69 6e 61 6c 22 3b |acket = |"final";|
|000035d0| 0d 0a 09 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |.....ret|urn true|
|000035e0| 3b 0d 0a 09 09 7d 20 65 | 6c 73 65 0d 0a 09 09 09 |;....} e|lse.....|
|000035f0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 7d |return t|rue;...}|
|00003600| 20 65 6c 73 65 20 7b 0d | 0a 09 09 72 65 74 75 72 | else {.|...retur|
|00003610| 6e 20 66 61 6c 73 65 3b | 0d 0a 09 7d 0d 0a 7d 0d |n false;|...}..}.|
|00003620| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 73 74 72 69 |...funct|ion stri|
|00003630| 6e 67 20 50 61 72 73 65 | 51 75 65 72 79 28 20 49 |ng Parse|Query( I|
|00003640| 70 41 64 64 72 20 41 64 | 64 72 2c 20 63 6f 65 72 |pAddr Ad|dr, coer|
|00003650| 63 65 20 73 74 72 69 6e | 67 20 51 75 65 72 79 53 |ce strin|g QueryS|
|00003660| 74 72 2c 20 69 6e 74 20 | 51 75 65 72 79 4e 75 6d |tr, int |QueryNum|
|00003670| 2c 20 6f 75 74 20 69 6e | 74 20 50 61 63 6b 65 74 |, out in|t Packet|
|00003680| 4e 75 6d 20 29 0d 0a 7b | 0d 0a 09 6c 6f 63 61 6c |Num )..{|...local|
|00003690| 20 73 74 72 69 6e 67 20 | 51 75 65 72 79 54 79 70 | string |QueryTyp|
|000036a0| 65 2c 20 51 75 65 72 79 | 56 61 6c 75 65 2c 20 51 |e, Query|Value, Q|
|000036b0| 75 65 72 79 52 65 73 74 | 2c 20 56 61 6c 69 64 61 |ueryRest|, Valida|
|000036c0| 74 69 6f 6e 53 74 72 69 | 6e 67 3b 0d 0a 09 6c 6f |tionStri|ng;...lo|
|000036d0| 63 61 6c 20 62 6f 6f 6c | 20 52 65 73 75 6c 74 3b |cal bool| Result;|
|000036e0| 0d 0a 09 6c 6f 63 61 6c | 20 73 74 72 69 6e 67 20 |...local| string |
|000036f0| 46 69 6e 61 6c 50 61 63 | 6b 65 74 3b 0d 0a 09 0d |FinalPac|ket;....|
|00003700| 0a 09 52 65 73 75 6c 74 | 20 3d 20 50 61 72 73 65 |..Result| = Parse|
|00003710| 4e 65 78 74 51 75 65 72 | 79 28 51 75 65 72 79 53 |NextQuer|y(QueryS|
|00003720| 74 72 2c 20 51 75 65 72 | 79 54 79 70 65 2c 20 51 |tr, Quer|yType, Q|
|00003730| 75 65 72 79 56 61 6c 75 | 65 2c 20 51 75 65 72 79 |ueryValu|e, Query|
|00003740| 52 65 73 74 2c 20 46 69 | 6e 61 6c 50 61 63 6b 65 |Rest, Fi|nalPacke|
|00003750| 74 29 3b 0d 0a 09 69 66 | 28 20 21 52 65 73 75 6c |t);...if|( !Resul|
|00003760| 74 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 22 22 |t )....r|eturn ""|
|00003770| 3b 0d 0a 0d 0a 09 69 66 | 28 20 51 75 65 72 79 54 |;.....if|( QueryT|
|00003780| 79 70 65 3d 3d 22 62 61 | 73 69 63 22 20 29 0d 0a |ype=="ba|sic" )..|
|00003790| 09 7b 0d 0a 09 09 2f 2f | 20 49 67 6e 6f 72 65 2e |.{....//| Ignore.|
|000037a0| 0d 0a 09 09 52 65 73 75 | 6c 74 20 3d 20 74 72 75 |....Resu|lt = tru|
|000037b0| 65 3b 0d 0a 09 7d 0d 0a | 09 65 6c 73 65 20 69 66 |e;...}..|.else if|
|000037c0| 28 20 51 75 65 72 79 54 | 79 70 65 3d 3d 22 73 65 |( QueryT|ype=="se|
|000037d0| 63 75 72 65 22 20 29 0d | 0a 09 7b 0d 0a 09 09 56 |cure" ).|..{....V|
|000037e0| 61 6c 69 64 61 74 69 6f | 6e 53 74 72 69 6e 67 20 |alidatio|nString |
|000037f0| 3d 20 22 5c 5c 76 61 6c | 69 64 61 74 65 5c 5c 22 |= "\\val|idate\\"|
|00003800| 24 56 61 6c 69 64 61 74 | 65 28 51 75 65 72 79 56 |$Validat|e(QueryV|
|00003810| 61 6c 75 65 2c 20 51 75 | 65 72 79 2e 47 61 6d 65 |alue, Qu|ery.Game|
|00003820| 4e 61 6d 65 29 3b 0d 0a | 09 09 52 65 73 75 6c 74 |Name);..|..Result|
|00003830| 20 3d 20 53 65 6e 64 51 | 75 65 72 79 50 61 63 6b | = SendQ|ueryPack|
|00003840| 65 74 28 41 64 64 72 2c | 20 56 61 6c 69 64 61 74 |et(Addr,| Validat|
|00003850| 69 6f 6e 53 74 72 69 6e | 67 2c 20 51 75 65 72 79 |ionStrin|g, Query|
|00003860| 4e 75 6d 2c 20 2b 2b 50 | 61 63 6b 65 74 4e 75 6d |Num, ++P|acketNum|
|00003870| 2c 20 46 69 6e 61 6c 50 | 61 63 6b 65 74 29 3b 0d |, FinalP|acket);.|
|00003880| 0a 09 7d 0d 0a 09 65 6c | 73 65 0d 0a 09 7b 0d 0a |..}...el|se...{..|
|00003890| 09 09 4c 6f 67 28 22 55 | 64 70 53 65 72 76 65 72 |..Log("U|dpServer|
|000038a0| 51 75 65 72 79 3a 20 55 | 6e 6b 6e 6f 77 6e 20 71 |Query: U|nknown q|
|000038b0| 75 65 72 79 3a 20 22 24 | 51 75 65 72 79 54 79 70 |uery: "$|QueryTyp|
|000038c0| 65 29 3b 0d 0a 09 7d 0d | 0a 09 69 66 28 20 21 52 |e);...}.|..if( !R|
|000038d0| 65 73 75 6c 74 20 29 0d | 0a 09 09 4c 6f 67 28 22 |esult ).|...Log("|
|000038e0| 55 64 70 53 65 72 76 65 | 72 51 75 65 72 79 3a 20 |UdpServe|rQuery: |
|000038f0| 45 72 72 6f 72 20 72 65 | 73 70 6f 6e 64 69 6e 67 |Error re|sponding|
|00003900| 20 74 6f 20 71 75 65 72 | 79 2e 22 29 3b 0d 0a 09 | to quer|y.");...|
|00003910| 72 65 74 75 72 6e 20 51 | 75 65 72 79 52 65 73 74 |return Q|ueryRest|
|00003920| 3b 0d 0a 7d 0d 0a 0d 0a | 2f 2f 20 53 65 6e 64 51 |;..}....|// SendQ|
|00003930| 75 65 72 79 50 61 63 6b | 65 74 20 69 73 20 61 20 |ueryPack|et is a |
|00003940| 77 72 61 70 70 65 72 20 | 66 6f 72 20 53 65 6e 64 |wrapper |for Send|
|00003950| 54 65 78 74 20 74 68 61 | 74 20 61 6c 6c 6f 77 73 |Text tha|t allows|
|00003960| 20 66 6f 72 20 70 61 63 | 6b 65 74 20 6e 75 6d 62 | for pac|ket numb|
|00003970| 65 72 69 6e 67 2e 0d 0a | 66 75 6e 63 74 69 6f 6e |ering...|function|
|00003980| 20 62 6f 6f 6c 20 53 65 | 6e 64 51 75 65 72 79 50 | bool Se|ndQueryP|
|00003990| 61 63 6b 65 74 28 49 70 | 41 64 64 72 20 41 64 64 |acket(Ip|Addr Add|
|000039a0| 72 2c 20 63 6f 65 72 63 | 65 20 73 74 72 69 6e 67 |r, coerc|e string|
|000039b0| 20 53 65 6e 64 53 74 72 | 69 6e 67 2c 20 69 6e 74 | SendStr|ing, int|
|000039c0| 20 51 75 65 72 79 4e 75 | 6d 2c 20 69 6e 74 20 50 | QueryNu|m, int P|
|000039d0| 61 63 6b 65 74 4e 75 6d | 2c 20 73 74 72 69 6e 67 |acketNum|, string|
|000039e0| 20 46 69 6e 61 6c 50 61 | 63 6b 65 74 29 0d 0a 7b | FinalPa|cket)..{|
|000039f0| 0d 0a 09 6c 6f 63 61 6c | 20 62 6f 6f 6c 20 52 65 |...local| bool Re|
|00003a00| 73 75 6c 74 3b 0d 0a 09 | 69 66 20 28 46 69 6e 61 |sult;...|if (Fina|
|00003a10| 6c 50 61 63 6b 65 74 20 | 3d 3d 20 22 66 69 6e 61 |lPacket |== "fina|
|00003a20| 6c 22 29 20 7b 0d 0a 09 | 09 53 65 6e 64 53 74 72 |l") {...|.SendStr|
|00003a30| 69 6e 67 20 3d 20 53 65 | 6e 64 53 74 72 69 6e 67 |ing = Se|ndString|
|00003a40| 24 22 5c 5c 66 69 6e 61 | 6c 5c 5c 22 3b 0d 0a 09 |$"\\fina|l\\";...|
|00003a50| 7d 0d 0a 09 53 65 6e 64 | 53 74 72 69 6e 67 20 3d |}...Send|String =|
|00003a60| 20 53 65 6e 64 53 74 72 | 69 6e 67 24 22 5c 5c 71 | SendStr|ing$"\\q|
|00003a70| 75 65 72 79 69 64 5c 5c | 22 24 51 75 65 72 79 4e |ueryid\\|"$QueryN|
|00003a80| 75 6d 24 22 2e 22 24 50 | 61 63 6b 65 74 4e 75 6d |um$"."$P|acketNum|
|00003a90| 3b 0d 0a 0d 0a 09 52 65 | 73 75 6c 74 20 3d 20 53 |;.....Re|sult = S|
|00003aa0| 65 6e 64 54 65 78 74 28 | 41 64 64 72 2c 20 53 65 |endText(|Addr, Se|
|00003ab0| 6e 64 53 74 72 69 6e 67 | 29 3b 0d 0a 0d 0a 09 72 |ndString|);.....r|
|00003ac0| 65 74 75 72 6e 20 52 65 | 73 75 6c 74 3b 0d 0a 7d |eturn Re|sult;..}|
|00003ad0| 0d 0a 0d 0a 00 00 00 44 | 02 00 67 01 01 f7 00 00 |.......D|..g.....|
|00003ae0| 00 99 19 00 00 74 00 00 | 00 07 27 00 7a 00 5a 01 |.....t..|..'.z.Z.|
|00003af0| 1f 66 69 6e 61 6c 00 16 | 0f 00 20 70 00 20 1f 5c |.final..|.. p. .\|
|00003b00| 66 69 6e 61 6c 5c 00 16 | 0f 00 20 70 70 70 70 00 |final\..|.. pppp.|
|00003b10| 20 1f 5c 71 75 65 72 79 | 69 64 5c 00 16 53 00 5d | .\query|id\..S.]|
|00003b20| 01 16 1f 2e 00 16 53 00 | 5b 01 16 14 2d 00 45 01 |......S.|[...-.E.|
|00003b30| 1b 0a 00 67 01 00 20 16 | 04 2d 00 45 01 04 0b 00 |...g.. .|.-.E....|
|00003b40| 00 00 02 00 00 00 00 00 | 43 01 01 00 00 00 80 05 |........|C.......|
|00003b50| 40 00 00 93 00 4f 02 50 | 02 02 ff ff ff ff ff ff |@....O.P|........|
|00003b60| ff ff 00 00 00 00 00 01 | 00 00 00 00 00 00 ff ff |........|........|
|00003b70| ff ff ff ff ff ff ff ff | 00 00 00 00 1e 00 00 00 |........|........|
|00003b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b90| 06 52 02 01 00 00 00 b0 | 3c 3f 23 93 01 00 00 00 |.R......|<?#.....|
|00003ba0| 36 16 1f 85 17 00 00 00 | 00 14 b8 fb c9 17 00 00 |6.......|........|
|00003bb0| 00 00 14 b8 fb c9 17 00 | 00 00 00 14 b8 fb c9 17 |........|........|
|00003bc0| 00 00 00 00 14 b8 fb c9 | 04 11 19 0e 10 94 15 2b |........|.......+|
|00003bd0| 22 01 00 00 00 28 22 fc | 6c 00 00 1f 06 1a 14 01 |"....(".|l.......|
|00003be0| 00 00 00 00 10 01 00 00 | 00 80 05 40 00 00 00 00 |........|...@....|
|00003bf0| 55 02 00 75 01 05 0f 01 | 00 00 f0 1c 00 00 04 02 |U..u....|........|
|00003c00| 00 00 0f 00 01 70 1f 5c | 68 6f 73 74 6e 61 6d 65 |.....p.\|hostname|
|00003c10| 5c 00 19 19 19 01 89 05 | 00 04 01 8d 05 00 04 01 |\.......|........|
|00003c20| 96 05 00 00 01 ab 16 0f | 00 01 70 70 00 01 1f 5c |........|..pp...\|
|00003c30| 68 6f 73 74 70 6f 72 74 | 5c 00 16 53 19 19 01 89 |hostport|\..S....|
|00003c40| 05 00 04 01 8d 06 00 04 | 1b 1d 16 16 0f 00 01 70 |........|.......p|
|00003c50| 70 00 01 1f 5c 6d 61 70 | 74 69 74 6c 65 5c 00 16 |p...\map|title\..|
|00003c60| 19 01 89 05 00 00 01 aa | 16 0f 00 01 70 70 00 01 |........|....pp..|
|00003c70| 1f 5c 6d 61 70 6e 61 6d | 65 5c 00 16 80 56 01 89 |.\mapnam|e\...V..|
|00003c80| 7e 56 01 89 1f 2e 00 16 | 16 16 0f 00 01 70 70 00 |~V......|.....pp.|
|00003c90| 01 1f 5c 67 61 6d 65 74 | 79 70 65 5c 00 16 1b 27 |..\gamet|ype\...'|
|00003ca0| 56 19 19 01 89 05 00 04 | 01 8d 05 00 04 01 b3 16 |V.......|........|
|00003cb0| 16 0f 00 01 70 70 00 01 | 1f 5c 6e 75 6d 70 6c 61 |....pp..|.\numpla|
|00003cc0| 79 65 72 73 5c 00 16 53 | 19 19 01 89 05 00 04 01 |yers\..S|........|
|00003cd0| 8d 05 00 04 01 97 16 0f | 00 01 70 70 00 01 1f 5c |........|..pp...\|
|00003ce0| 6d 61 78 70 6c 61 79 65 | 72 73 5c 00 16 53 19 19 |maxplaye|rs\..S..|
|00003cf0| 01 89 05 00 04 01 8d 05 | 00 04 01 af 16 0f 00 01 |........|........|
|00003d00| 70 00 01 1f 5c 67 61 6d | 65 6d 6f 64 65 5c 6f 70 |p...\gam|emode\op|
|00003d10| 65 6e 70 6c 61 79 69 6e | 67 00 16 0f 00 01 70 70 |enplayin|g.....pp|
|00003d20| 00 01 1f 5c 67 61 6d 65 | 76 65 72 5c 00 16 19 01 |...\game|ver\....|
|00003d30| 89 05 00 00 01 a6 16 0f | 00 01 70 70 00 01 1f 5c |........|..pp...\|
|00003d40| 6d 69 6e 6e 65 74 76 65 | 72 5c 00 16 19 01 89 05 |minnetve|r\......|
|00003d50| 00 00 01 a9 16 0f 00 01 | 70 00 01 19 19 01 89 05 |........|p.......|
|00003d60| 00 04 01 8d 06 00 00 1b | 05 16 16 04 00 01 04 0b |........|........|
|00003d70| 00 00 00 02 00 00 00 00 | 00 7d 01 00 53 02 07 fc |........|.}..S...|
|00003d80| 00 00 00 d1 1a 00 00 af | 00 00 00 0f 00 10 70 1f |........|......p.|
|00003d90| 5c 67 61 6d 65 6e 61 6d | 65 5c 00 01 27 16 0f 00 |\gamenam|e\..'...|
|00003da0| 10 70 70 00 10 1f 5c 67 | 61 6d 65 76 65 72 5c 00 |.pp...\g|amever\.|
|00003db0| 16 19 01 89 05 00 00 01 | a6 16 0f 00 10 70 70 00 |........|.....pp.|
|00003dc0| 10 1f 5c 6d 69 6e 6e 65 | 74 76 65 72 5c 00 16 19 |..\minne|tver\...|
|00003dd0| 01 89 05 00 00 01 a9 16 | 0f 00 10 70 70 00 10 1f |........|...pp...|
|00003de0| 5c 6c 6f 63 61 74 69 6f | 6e 5c 00 16 53 19 19 19 |\locatio|n\..S...|
|00003df0| 01 89 05 00 04 01 8d 05 | 00 04 01 96 05 00 04 01 |........|........|
|00003e00| ac 16 04 00 10 04 0b 00 | 00 00 02 00 00 00 00 00 |........|........|
|00003e10| 45 01 01 00 00 00 80 05 | 00 00 00 00 00 00 00 00 |E.......|........|
|00003e20| 00 00 00 00 69 b5 01 2f | 2f 3d 3d 3d 3d 3d 3d 3d |....i../|/=======|
|00003e30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003e40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003e70| 3d 3d 3d 3d 3d 3d 0d 0a | 2f 2f 20 55 64 70 53 65 |======..|// UdpSe|
|00003e80| 72 76 65 72 51 75 65 72 | 79 0d 0a 2f 2f 0d 0a 2f |rverQuer|y..//../|
|00003e90| 2f 20 56 65 72 73 69 6f | 6e 3a 20 31 2e 35 0d 0a |/ Versio|n: 1.5..|
|00003ea0| 2f 2f 0d 0a 2f 2f 20 54 | 68 69 73 20 71 75 65 72 |//..// T|his quer|
|00003eb0| 79 20 73 65 72 76 65 72 | 20 69 73 20 63 6f 6d 70 |y server| is comp|
|00003ec0| 6c 69 61 6e 74 20 77 69 | 74 68 20 74 68 65 20 47 |liant wi|th the G|
|00003ed0| 61 6d 65 53 70 79 20 55 | 70 6c 69 6e 6b 20 53 70 |ameSpy U|plink Sp|
|00003ee0| 65 63 69 66 69 63 61 74 | 69 6f 6e 2e 0d 0a 2f 2f |ecificat|ion...//|
|00003ef0| 20 54 68 65 20 73 70 65 | 63 69 66 69 63 61 74 69 | The spe|cificati|
|00003f00| 6f 6e 20 69 73 20 61 76 | 61 69 6c 61 62 6c 65 20 |on is av|ailable |
|00003f10| 61 74 20 68 74 74 70 3a | 2f 2f 77 77 77 2e 67 61 |at http:|//www.ga|
|00003f20| 6d 65 73 70 79 2e 63 6f | 6d 2f 64 65 76 65 6c 6f |mespy.co|m/develo|
|00003f30| 70 65 72 0d 0a 2f 2f 20 | 61 6e 64 20 6d 69 67 68 |per..// |and migh|
|00003f40| 74 20 62 65 20 6f 66 20 | 75 73 65 20 74 6f 20 70 |t be of |use to p|
|00003f50| 72 6f 67 61 6d 6d 65 72 | 73 20 77 68 6f 20 61 72 |rogammer|s who ar|
|00003f60| 65 20 77 72 69 74 69 6e | 67 20 6f 72 20 6d 61 69 |e writin|g or mai|
|00003f70| 6e 74 61 69 6e 69 6e 67 | 0d 0a 2f 2f 20 74 68 65 |ntaining|..// the|
|00003f80| 69 72 20 6f 77 6e 20 73 | 74 61 74 20 67 61 74 68 |ir own s|tat gath|
|00003f90| 65 72 69 6e 67 2f 67 61 | 6d 65 20 71 75 65 72 79 |ering/ga|me query|
|00003fa0| 69 6e 67 20 73 6f 66 74 | 77 61 72 65 2e 0d 0a 2f |ing soft|ware.../|
|00003fb0| 2f 0d 0a 2f 2f 20 4e 6f | 74 65 3a 20 43 75 72 72 |/..// No|te: Curr|
|00003fc0| 65 6e 74 6c 79 2c 20 53 | 65 6e 64 54 65 78 74 20 |ently, S|endText |
|00003fd0| 72 65 74 75 72 6e 73 20 | 66 61 6c 73 65 20 69 66 |returns |false if|
|00003fe0| 20 73 75 63 63 65 73 73 | 66 75 6c 2e 0d 0a 2f 2f | success|ful...//|
|00003ff0| 0d 0a 2f 2f 20 46 75 6c | 6c 20 64 6f 63 75 6d 65 |..// Ful|l docume|
|00004000| 6e 74 61 74 69 6f 6e 20 | 6f 6e 20 74 68 69 73 20 |ntation |on this |
|00004010| 63 6c 61 73 73 20 69 73 | 20 61 76 61 69 6c 61 62 |class is| availab|
|00004020| 6c 65 20 61 74 20 68 74 | 74 70 3a 2f 2f 75 6e 72 |le at ht|tp://unr|
|00004030| 65 61 6c 2e 65 70 69 63 | 67 61 6d 65 73 2e 63 6f |eal.epic|games.co|
|00004040| 6d 2f 0d 0a 2f 2f 0d 0a | 2f 2f 3d 3d 3d 3d 3d 3d |m/..//..|//======|
|00004050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004060| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004070| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004080| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004090| 3d 3d 3d 3d 3d 3d 3d 0d | 0a 63 6c 61 73 73 20 55 |=======.|.class U|
|000040a0| 64 70 53 65 72 76 65 72 | 51 75 65 72 79 20 65 78 |dpServer|Query ex|
|000040b0| 74 65 6e 64 73 20 55 64 | 70 4c 69 6e 6b 20 63 6f |tends Ud|pLink co|
|000040c0| 6e 66 69 67 3b 0d 0a 0d | 0a 2f 2f 20 47 61 6d 65 |nfig;...|.// Game|
|000040d0| 20 53 65 72 76 65 72 20 | 43 6f 6e 66 69 67 2e 0d | Server |Config..|
|000040e0| 0a 76 61 72 28 29 20 6e | 61 6d 65 09 09 09 09 09 |.var() n|ame.....|
|000040f0| 51 75 65 72 79 4e 61 6d | 65 3b 09 09 09 2f 2f 20 |QueryNam|e;...// |
|00004100| 4e 61 6d 65 20 74 6f 20 | 73 65 74 20 74 68 69 73 |Name to |set this|
|00004110| 20 6f 62 6a 65 63 74 27 | 73 20 54 61 67 20 74 6f | object'|s Tag to|
|00004120| 2e 0d 0a 76 61 72 20 69 | 6e 74 09 09 09 09 09 20 |...var i|nt..... |
|00004130| 20 20 20 43 75 72 72 65 | 6e 74 51 75 65 72 79 4e | Curre|ntQueryN|
|00004140| 75 6d 3b 09 2f 2f 20 51 | 75 65 72 79 20 49 44 20 |um;.// Q|uery ID |
|00004150| 4e 75 6d 62 65 72 2e 0d | 0a 76 61 72 20 67 6c 6f |Number..|.var glo|
|00004160| 62 61 6c 63 6f 6e 66 69 | 67 20 73 74 72 69 6e 67 |balconfi|g string|
|00004170| 09 09 47 61 6d 65 4e 61 | 6d 65 3b 0d 0a 2f 2f 63 |..GameNa|me;..//c|
|00004180| 72 74 0d 0a 76 61 72 20 | 73 74 72 69 6e 67 20 52 |rt..var |string R|
|00004190| 65 70 6c 79 44 61 74 61 | 3b 0d 0a 0d 0a 2f 2f 20 |eplyData|;....// |
|000041a0| 49 6e 69 74 69 61 6c 69 | 7a 65 2e 0d 0a 66 75 6e |Initiali|ze...fun|
|000041b0| 63 74 69 6f 6e 20 50 72 | 65 42 65 67 69 6e 50 6c |ction Pr|eBeginPl|
|000041c0| 61 79 28 29 0d 0a 7b 0d | 0a 09 6c 6f 63 61 6c 20 |ay()..{.|..local |
|000041d0| 69 6e 74 20 62 6f 75 6e | 64 70 6f 72 74 3b 0d 0a |int boun|dport;..|
|000041e0| 0d 0a 09 2f 2f 20 53 65 | 74 20 74 68 65 20 54 61 |...// Se|t the Ta|
|000041f0| 67 0d 0a 09 54 61 67 20 | 3d 20 51 75 65 72 79 4e |g...Tag |= QueryN|
|00004200| 61 6d 65 3b 0d 0a 0d 0a | 09 2f 2f 20 42 69 6e 64 |ame;....|.// Bind|
|00004210| 20 74 68 65 20 6c 69 73 | 74 65 6e 20 73 6f 63 6b | the lis|ten sock|
|00004220| 65 74 0d 0a 09 62 6f 75 | 6e 64 70 6f 72 74 20 3d |et...bou|ndport =|
|00004230| 20 42 69 6e 64 50 6f 72 | 74 28 4c 65 76 65 6c 2e | BindPor|t(Level.|
|00004240| 47 61 6d 65 2e 47 65 74 | 53 65 72 76 65 72 50 6f |Game.Get|ServerPo|
|00004250| 72 74 28 29 2c 20 74 72 | 75 65 29 3b 0d 0a 09 69 |rt(), tr|ue);...i|
|00004260| 66 28 20 62 6f 75 6e 64 | 70 6f 72 74 20 3d 3d 20 |f( bound|port == |
|00004270| 30 20 29 0d 0a 09 7b 0d | 0a 09 09 4c 6f 67 28 22 |0 )...{.|...Log("|
|00004280| 55 64 70 53 65 72 76 65 | 72 51 75 65 72 79 3a 20 |UdpServe|rQuery: |
|00004290| 50 6f 72 74 20 66 61 69 | 6c 65 64 20 74 6f 20 62 |Port fai|led to b|
|000042a0| 69 6e 64 2e 22 29 3b 0d | 0a 09 09 72 65 74 75 72 |ind.");.|...retur|
|000042b0| 6e 3b 0d 0a 09 7d 0d 0a | 09 4c 6f 67 28 22 55 64 |n;...}..|.Log("Ud|
|000042c0| 70 53 65 72 76 65 72 51 | 75 65 72 79 28 63 72 74 |pServerQ|uery(crt|
|000042d0| 29 3a 20 50 6f 72 74 20 | 22 24 62 6f 75 6e 64 70 |): Port |"$boundp|
|000042e0| 6f 72 74 24 22 20 73 75 | 63 63 65 73 73 66 75 6c |ort$" su|ccessful|
|000042f0| 6c 79 20 62 6f 75 6e 64 | 2e 22 29 3b 0d 0a 7d 0d |ly bound|.");..}.|
|00004300| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 50 6f 73 74 |...funct|ion Post|
|00004310| 42 65 67 69 6e 50 6c 61 | 79 28 29 0d 0a 7b 0d 0a |BeginPla|y()..{..|
|00004320| 09 6c 6f 63 61 6c 20 55 | 64 70 42 65 61 63 6f 6e |.local U|dpBeacon|
|00004330| 09 42 65 61 63 6f 6e 3b | 0d 0a 0d 0a 09 66 6f 72 |.Beacon;|.....for|
|00004340| 65 61 63 68 20 41 6c 6c | 41 63 74 6f 72 73 28 63 |each All|Actors(c|
|00004350| 6c 61 73 73 27 55 64 70 | 42 65 61 63 6f 6e 27 2c |lass'Udp|Beacon',|
|00004360| 20 42 65 61 63 6f 6e 29 | 0d 0a 09 7b 0d 0a 09 09 | Beacon)|...{....|
|00004370| 42 65 61 63 6f 6e 2e 55 | 64 70 53 65 72 76 65 72 |Beacon.U|dpServer|
|00004380| 51 75 65 72 79 50 6f 72 | 74 20 3d 20 50 6f 72 74 |QueryPor|t = Port|
|00004390| 3b 0d 0a 09 7d 0d 0a 09 | 53 75 70 65 72 2e 50 6f |;...}...|Super.Po|
|000043a0| 73 74 42 65 67 69 6e 50 | 6c 61 79 28 29 3b 0d 0a |stBeginP|lay();..|
|000043b0| 7d 0d 0a 0d 0a 2f 2f 20 | 52 65 63 65 69 76 65 64 |}....// |Received|
|000043c0| 20 61 20 71 75 65 72 79 | 20 72 65 71 75 65 73 74 | a query| request|
|000043d0| 2e 0d 0a 65 76 65 6e 74 | 20 52 65 63 65 69 76 65 |...event| Receive|
|000043e0| 64 54 65 78 74 28 20 49 | 70 41 64 64 72 20 41 64 |dText( I|pAddr Ad|
|000043f0| 64 72 2c 20 73 74 72 69 | 6e 67 20 54 65 78 74 20 |dr, stri|ng Text |
|00004400| 29 0d 0a 7b 0d 0a 09 6c | 6f 63 61 6c 20 73 74 72 |)..{...l|ocal str|
|00004410| 69 6e 67 20 51 75 65 72 | 79 3b 0d 0a 09 6c 6f 63 |ing Quer|y;...loc|
|00004420| 61 6c 20 62 6f 6f 6c 20 | 51 75 65 72 79 52 65 6d |al bool |QueryRem|
|00004430| 61 69 6e 69 6e 67 3b 0d | 0a 09 6c 6f 63 61 6c 20 |aining;.|..local |
|00004440| 69 6e 74 20 20 51 75 65 | 72 79 4e 75 6d 2c 20 50 |int Que|ryNum, P|
|00004450| 61 63 6b 65 74 4e 75 6d | 3b 0d 0a 0d 0a 09 2f 2f |acketNum|;.....//|
|00004460| 20 41 73 73 69 67 6e 20 | 74 68 69 73 20 70 61 63 | Assign |this pac|
|00004470| 6b 65 74 20 61 20 75 6e | 69 71 75 65 20 76 61 6c |ket a un|ique val|
|00004480| 75 65 20 66 72 6f 6d 20 | 31 20 74 6f 20 31 30 30 |ue from |1 to 100|
|00004490| 0d 0a 09 43 75 72 72 65 | 6e 74 51 75 65 72 79 4e |...Curre|ntQueryN|
|000044a0| 75 6d 2b 2b 3b 0d 0a 09 | 69 66 20 28 43 75 72 72 |um++;...|if (Curr|
|000044b0| 65 6e 74 51 75 65 72 79 | 4e 75 6d 20 3e 20 31 30 |entQuery|Num > 10|
|000044c0| 30 29 0d 0a 09 09 43 75 | 72 72 65 6e 74 51 75 65 |0)....Cu|rrentQue|
|000044d0| 72 79 4e 75 6d 20 3d 20 | 31 3b 0d 0a 09 51 75 65 |ryNum = |1;...Que|
|000044e0| 72 79 4e 75 6d 20 3d 20 | 43 75 72 72 65 6e 74 51 |ryNum = |CurrentQ|
|000044f0| 75 65 72 79 4e 75 6d 3b | 0d 0a 0d 0a 09 51 75 65 |ueryNum;|.....Que|
|00004500| 72 79 20 3d 20 54 65 78 | 74 3b 0d 0a 09 69 66 20 |ry = Tex|t;...if |
|00004510| 28 51 75 65 72 79 20 3d | 3d 20 22 22 29 09 09 2f |(Query =|= "")../|
|00004520| 2f 20 49 66 20 74 68 65 | 20 73 74 72 69 6e 67 20 |/ If the| string |
|00004530| 69 73 20 65 6d 70 74 79 | 2c 20 64 6f 6e 27 74 20 |is empty|, don't |
|00004540| 70 61 72 73 65 20 69 74 | 0d 0a 09 09 51 75 65 72 |parse it|....Quer|
|00004550| 79 52 65 6d 61 69 6e 69 | 6e 67 20 3d 20 66 61 6c |yRemaini|ng = fal|
|00004560| 73 65 3b 0d 0a 09 65 6c | 73 65 0d 0a 09 09 51 75 |se;...el|se....Qu|
|00004570| 65 72 79 52 65 6d 61 69 | 6e 69 6e 67 20 3d 20 74 |eryRemai|ning = t|
|00004580| 72 75 65 3b 0d 0a 09 2f | 2f 63 72 74 0d 0a 09 50 |rue;.../|/crt...P|
|00004590| 61 63 6b 65 74 4e 75 6d | 20 3d 20 20 30 3b 0d 0a |acketNum| = 0;..|
|000045a0| 09 52 65 70 6c 79 44 61 | 74 61 20 3d 20 22 22 3b |.ReplyDa|ta = "";|
|000045b0| 0d 0a 09 77 68 69 6c 65 | 20 28 51 75 65 72 79 52 |...while| (QueryR|
|000045c0| 65 6d 61 69 6e 69 6e 67 | 29 20 7b 0d 0a 09 09 51 |emaining|) {....Q|
|000045d0| 75 65 72 79 20 3d 20 50 | 61 72 73 65 51 75 65 72 |uery = P|arseQuer|
|000045e0| 79 28 41 64 64 72 2c 20 | 51 75 65 72 79 2c 20 51 |y(Addr, |Query, Q|
|000045f0| 75 65 72 79 4e 75 6d 2c | 20 50 61 63 6b 65 74 4e |ueryNum,| PacketN|
|00004600| 75 6d 29 3b 0d 0a 09 09 | 69 66 20 28 51 75 65 72 |um);....|if (Quer|
|00004610| 79 20 3d 3d 20 22 22 29 | 0d 0a 09 09 09 51 75 65 |y == "")|.....Que|
|00004620| 72 79 52 65 6d 61 69 6e | 69 6e 67 20 3d 20 66 61 |ryRemain|ing = fa|
|00004630| 6c 73 65 3b 0d 0a 09 09 | 65 6c 73 65 0d 0a 09 09 |lse;....|else....|
|00004640| 09 51 75 65 72 79 52 65 | 6d 61 69 6e 69 6e 67 20 |.QueryRe|maining |
|00004650| 3d 20 74 72 75 65 3b 0d | 0a 09 7d 0d 0a 7d 0d 0a |= true;.|..}..}..|
|00004660| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 62 6f 6f 6c 20 |..functi|on bool |
|00004670| 50 61 72 73 65 4e 65 78 | 74 51 75 65 72 79 28 20 |ParseNex|tQuery( |
|00004680| 73 74 72 69 6e 67 20 51 | 75 65 72 79 2c 20 6f 75 |string Q|uery, ou|
|00004690| 74 20 73 74 72 69 6e 67 | 20 51 75 65 72 79 54 79 |t string| QueryTy|
|000046a0| 70 65 2c 20 6f 75 74 20 | 73 74 72 69 6e 67 20 51 |pe, out |string Q|
|000046b0| 75 65 72 79 56 61 6c 75 | 65 2c 20 6f 75 74 20 73 |ueryValu|e, out s|
|000046c0| 74 72 69 6e 67 20 51 75 | 65 72 79 52 65 73 74 2c |tring Qu|eryRest,|
|000046d0| 20 6f 75 74 20 69 6e 74 | 20 62 46 69 6e 61 6c 50 | out int| bFinalP|
|000046e0| 61 63 6b 65 74 20 29 0d | 0a 7b 0d 0a 09 6c 6f 63 |acket ).|.{...loc|
|000046f0| 61 6c 20 73 74 72 69 6e | 67 20 54 65 6d 70 51 75 |al strin|g TempQu|
|00004700| 65 72 79 3b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |ery;...l|ocal int|
|00004710| 20 43 6c 6f 73 69 6e 67 | 53 6c 61 73 68 3b 0d 0a | Closing|Slash;..|
|00004720| 0d 0a 09 69 66 20 28 51 | 75 65 72 79 20 3d 3d 20 |...if (Q|uery == |
|00004730| 22 22 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |"")....r|eturn fa|
|00004740| 6c 73 65 3b 0d 0a 0d 0a | 09 2f 2f 20 51 75 65 72 |lse;....|.// Quer|
|00004750| 79 20 73 68 6f 75 6c 64 | 20 62 65 3a 0d 0a 09 2f |y should| be:.../|
|00004760| 2f 20 20 20 5c 5b 74 79 | 70 65 5d 5c 3c 76 61 6c |/ \[ty|pe]\<val|
|00004770| 75 65 3e 0d 0a 09 69 66 | 20 28 4c 65 66 74 28 51 |ue>...if| (Left(Q|
|00004780| 75 65 72 79 2c 20 31 29 | 20 3d 3d 20 22 5c 5c 22 |uery, 1)| == "\\"|
|00004790| 29 0d 0a 09 7b 0d 0a 09 | 09 2f 2f 20 43 68 65 63 |)...{...|.// Chec|
|000047a0| 6b 20 74 6f 20 73 65 65 | 20 69 66 20 63 6c 6f 73 |k to see| if clos|
|000047b0| 65 64 2e 0d 0a 09 09 43 | 6c 6f 73 69 6e 67 53 6c |ed.....C|losingSl|
|000047c0| 61 73 68 20 3d 20 49 6e | 53 74 72 28 52 69 67 68 |ash = In|Str(Righ|
|000047d0| 74 28 51 75 65 72 79 2c | 20 4c 65 6e 28 51 75 65 |t(Query,| Len(Que|
|000047e0| 72 79 29 2d 31 29 2c 20 | 22 5c 5c 22 29 3b 0d 0a |ry)-1), |"\\");..|
|000047f0| 09 09 69 66 20 28 43 6c | 6f 73 69 6e 67 53 6c 61 |..if (Cl|osingSla|
|00004800| 73 68 20 3d 3d 20 30 29 | 0d 0a 09 09 09 72 65 74 |sh == 0)|.....ret|
|00004810| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 0d 0a 09 09 |urn fals|e;......|
|00004820| 54 65 6d 70 51 75 65 72 | 79 20 3d 20 51 75 65 72 |TempQuer|y = Quer|
|00004830| 79 3b 0d 0a 0d 0a 09 09 | 2f 2f 20 51 75 65 72 79 |y;......|// Query|
|00004840| 20 6c 6f 6f 6b 73 20 6c | 69 6b 65 3a 0d 0a 09 09 | looks l|ike:....|
|00004850| 2f 2f 20 20 5c 5b 74 79 | 70 65 5d 5c 0d 0a 09 09 |// \[ty|pe]\....|
|00004860| 51 75 65 72 79 54 79 70 | 65 20 3d 20 52 69 67 68 |QueryTyp|e = Righ|
|00004870| 74 28 51 75 65 72 79 2c | 20 4c 65 6e 28 51 75 65 |t(Query,| Len(Que|
|00004880| 72 79 29 2d 31 29 3b 0d | 0a 09 09 51 75 65 72 79 |ry)-1);.|...Query|
|00004890| 54 79 70 65 20 3d 20 4c | 65 66 74 28 51 75 65 72 |Type = L|eft(Quer|
|000048a0| 79 54 79 70 65 2c 20 43 | 6c 6f 73 69 6e 67 53 6c |yType, C|losingSl|
|000048b0| 61 73 68 29 3b 0d 0a 0d | 0a 09 09 51 75 65 72 79 |ash);...|...Query|
|000048c0| 52 65 73 74 20 3d 20 52 | 69 67 68 74 28 51 75 65 |Rest = R|ight(Que|
|000048d0| 72 79 2c 20 4c 65 6e 28 | 51 75 65 72 79 29 20 2d |ry, Len(|Query) -|
|000048e0| 20 28 4c 65 6e 28 51 75 | 65 72 79 54 79 70 65 29 | (Len(Qu|eryType)|
|000048f0| 20 2b 20 32 29 29 3b 0d | 0a 0d 0a 09 09 69 66 20 | + 2));.|.....if |
|00004900| 28 28 51 75 65 72 79 52 | 65 73 74 20 3d 3d 20 22 |((QueryR|est == "|
|00004910| 22 29 20 7c 7c 20 28 4c | 65 6e 28 51 75 65 72 79 |") || (L|en(Query|
|00004920| 52 65 73 74 29 20 3d 3d | 20 31 29 29 0d 0a 09 09 |Rest) ==| 1))....|
|00004930| 7b 0d 0a 09 09 09 62 46 | 69 6e 61 6c 50 61 63 6b |{.....bF|inalPack|
|00004940| 65 74 20 3d 20 31 3b 0d | 0a 09 09 09 72 65 74 75 |et = 1;.|....retu|
|00004950| 72 6e 20 74 72 75 65 3b | 0d 0a 09 09 7d 20 65 6c |rn true;|....} el|
|00004960| 73 65 20 69 66 20 28 4c | 65 66 74 28 51 75 65 72 |se if (L|eft(Quer|
|00004970| 79 52 65 73 74 2c 20 31 | 29 20 3d 3d 20 22 5c 5c |yRest, 1|) == "\\|
|00004980| 22 29 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 74 72 |").....r|eturn tr|
|00004990| 75 65 3b 09 2f 2f 20 5c | 74 79 70 65 5c 5c 0d 0a |ue;.// \|type\\..|
|000049a0| 0d 0a 09 09 2f 2f 20 51 | 75 65 72 79 20 6c 6f 6f |....// Q|uery loo|
|000049b0| 6b 73 20 6c 69 6b 65 3a | 0d 0a 09 09 2f 2f 20 20 |ks like:|....// |
|000049c0| 5c 74 79 70 65 5c 76 61 | 6c 75 65 0d 0a 09 09 43 |\type\va|lue....C|
|000049d0| 6c 6f 73 69 6e 67 53 6c | 61 73 68 20 3d 20 49 6e |losingSl|ash = In|
|000049e0| 53 74 72 28 51 75 65 72 | 79 52 65 73 74 2c 20 22 |Str(Quer|yRest, "|
|000049f0| 5c 5c 22 29 3b 0d 0a 09 | 09 69 66 20 28 43 6c 6f |\\");...|.if (Clo|
|00004a00| 73 69 6e 67 53 6c 61 73 | 68 20 3e 3d 20 30 29 0d |singSlas|h >= 0).|
|00004a10| 0a 09 09 09 51 75 65 72 | 79 56 61 6c 75 65 20 3d |....Quer|yValue =|
|00004a20| 20 4c 65 66 74 28 51 75 | 65 72 79 52 65 73 74 2c | Left(Qu|eryRest,|
|00004a30| 20 43 6c 6f 73 69 6e 67 | 53 6c 61 73 68 29 3b 0d | Closing|Slash);.|
|00004a40| 0a 09 09 65 6c 73 65 0d | 0a 09 09 09 51 75 65 72 |...else.|....Quer|
|00004a50| 79 56 61 6c 75 65 20 3d | 20 51 75 65 72 79 52 65 |yValue =| QueryRe|
|00004a60| 73 74 3b 0d 0a 0d 0a 09 | 09 51 75 65 72 79 52 65 |st;.....|.QueryRe|
|00004a70| 73 74 20 3d 20 52 69 67 | 68 74 28 51 75 65 72 79 |st = Rig|ht(Query|
|00004a80| 2c 20 4c 65 6e 28 51 75 | 65 72 79 29 20 2d 20 28 |, Len(Qu|ery) - (|
|00004a90| 4c 65 6e 28 51 75 65 72 | 79 54 79 70 65 29 20 2b |Len(Quer|yType) +|
|00004aa0| 20 4c 65 6e 28 51 75 65 | 72 79 56 61 6c 75 65 29 | Len(Que|ryValue)|
|00004ab0| 20 2b 20 33 29 29 3b 0d | 0a 09 09 69 66 20 28 51 | + 3));.|...if (Q|
|00004ac0| 75 65 72 79 52 65 73 74 | 20 3d 3d 20 22 22 29 0d |ueryRest| == "").|
|00004ad0| 0a 09 09 7b 0d 0a 09 09 | 09 62 46 69 6e 61 6c 50 |...{....|.bFinalP|
|00004ae0| 61 63 6b 65 74 20 3d 20 | 31 3b 0d 0a 09 09 09 72 |acket = |1;.....r|
|00004af0| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 09 09 7d |eturn tr|ue;....}|
|00004b00| 20 65 6c 73 65 0d 0a 09 | 09 09 72 65 74 75 72 6e | else...|..return|
|00004b10| 20 74 72 75 65 3b 0d 0a | 09 7d 20 65 6c 73 65 20 | true;..|.} else |
|00004b20| 7b 0d 0a 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |{....ret|urn fals|
|00004b30| 65 3b 0d 0a 09 7d 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |e;...}..|}....fun|
|00004b40| 63 74 69 6f 6e 20 73 74 | 72 69 6e 67 20 50 61 72 |ction st|ring Par|
|00004b50| 73 65 51 75 65 72 79 28 | 20 49 70 41 64 64 72 20 |seQuery(| IpAddr |
|00004b60| 41 64 64 72 2c 20 63 6f | 65 72 63 65 20 73 74 72 |Addr, co|erce str|
|00004b70| 69 6e 67 20 51 75 65 72 | 79 2c 20 69 6e 74 20 51 |ing Quer|y, int Q|
|00004b80| 75 65 72 79 4e 75 6d 2c | 20 6f 75 74 20 69 6e 74 |ueryNum,| out int|
|00004b90| 20 50 61 63 6b 65 74 4e | 75 6d 20 29 0d 0a 7b 0d | PacketN|um )..{.|
|00004ba0| 0a 09 6c 6f 63 61 6c 20 | 73 74 72 69 6e 67 20 51 |..local |string Q|
|00004bb0| 75 65 72 79 54 79 70 65 | 2c 20 51 75 65 72 79 56 |ueryType|, QueryV|
|00004bc0| 61 6c 75 65 2c 20 51 75 | 65 72 79 52 65 73 74 2c |alue, Qu|eryRest,|
|00004bd0| 20 56 61 6c 69 64 61 74 | 69 6f 6e 53 74 72 69 6e | Validat|ionStrin|
|00004be0| 67 3b 0d 0a 09 6c 6f 63 | 61 6c 20 62 6f 6f 6c 20 |g;...loc|al bool |
|00004bf0| 52 65 73 75 6c 74 3b 0d | 0a 09 6c 6f 63 61 6c 20 |Result;.|..local |
|00004c00| 69 6e 74 20 62 46 69 6e | 61 6c 50 61 63 6b 65 74 |int bFin|alPacket|
|00004c10| 3b 0d 0a 09 0d 0a 09 62 | 46 69 6e 61 6c 50 61 63 |;......b|FinalPac|
|00004c20| 6b 65 74 20 3d 20 30 3b | 0d 0a 09 52 65 73 75 6c |ket = 0;|...Resul|
|00004c30| 74 20 3d 20 50 61 72 73 | 65 4e 65 78 74 51 75 65 |t = Pars|eNextQue|
|00004c40| 72 79 28 51 75 65 72 79 | 2c 20 51 75 65 72 79 54 |ry(Query|, QueryT|
|00004c50| 79 70 65 2c 20 51 75 65 | 72 79 56 61 6c 75 65 2c |ype, Que|ryValue,|
|00004c60| 20 51 75 65 72 79 52 65 | 73 74 2c 20 62 46 69 6e | QueryRe|st, bFin|
|00004c70| 61 6c 50 61 63 6b 65 74 | 29 3b 0d 0a 09 69 66 28 |alPacket|);...if(|
|00004c80| 20 21 52 65 73 75 6c 74 | 20 29 0d 0a 09 09 72 65 | !Result| )....re|
|00004c90| 74 75 72 6e 20 22 22 3b | 0d 0a 0d 0a 09 2f 2f 4c |turn "";|.....//L|
|00004ca0| 6f 67 28 22 47 6f 74 20 | 20 51 75 65 72 79 3a 20 |og("Got | Query: |
|00004cb0| 22 20 20 24 20 51 75 65 | 72 79 4e 75 6d 20 24 20 |" $ Que|ryNum $ |
|00004cc0| 22 2e 22 20 24 20 50 61 | 63 6b 65 74 4e 75 6d 20 |"." $ Pa|cketNum |
|00004cd0| 24 20 22 3a 22 20 24 20 | 51 75 65 72 79 54 79 70 |$ ":" $ |QueryTyp|
|00004ce0| 65 29 3b 0d 0a 0d 0a 09 | 69 66 28 20 51 75 65 72 |e);.....|if( Quer|
|00004cf0| 79 54 79 70 65 3d 3d 22 | 62 61 73 69 63 22 20 29 |yType=="|basic" )|
|00004d00| 0d 0a 09 7b 0d 0a 09 09 | 52 65 73 75 6c 74 20 3d |...{....|Result =|
|00004d10| 20 53 65 6e 64 51 75 65 | 72 79 50 61 63 6b 65 74 | SendQue|ryPacket|
|00004d20| 28 41 64 64 72 2c 20 47 | 65 74 42 61 73 69 63 28 |(Addr, G|etBasic(|
|00004d30| 29 2c 20 51 75 65 72 79 | 4e 75 6d 2c 20 50 61 63 |), Query|Num, Pac|
|00004d40| 6b 65 74 4e 75 6d 2c 20 | 62 46 69 6e 61 6c 50 61 |ketNum, |bFinalPa|
|00004d50| 63 6b 65 74 29 3b 0d 0a | 09 7d 0d 0a 09 65 6c 73 |cket);..|.}...els|
|00004d60| 65 20 69 66 28 20 51 75 | 65 72 79 54 79 70 65 3d |e if( Qu|eryType=|
|00004d70| 3d 22 69 6e 66 6f 22 20 | 29 0d 0a 09 7b 0d 0a 09 |="info" |)...{...|
|00004d80| 09 52 65 73 75 6c 74 20 | 3d 20 53 65 6e 64 51 75 |.Result |= SendQu|
|00004d90| 65 72 79 50 61 63 6b 65 | 74 28 41 64 64 72 2c 20 |eryPacke|t(Addr, |
|00004da0| 47 65 74 49 6e 66 6f 28 | 29 2c 20 51 75 65 72 79 |GetInfo(|), Query|
|00004db0| 4e 75 6d 2c 20 50 61 63 | 6b 65 74 4e 75 6d 2c 20 |Num, Pac|ketNum, |
|00004dc0| 62 46 69 6e 61 6c 50 61 | 63 6b 65 74 29 3b 0d 0a |bFinalPa|cket);..|
|00004dd0| 09 7d 0d 0a 09 65 6c 73 | 65 20 69 66 28 20 51 75 |.}...els|e if( Qu|
|00004de0| 65 72 79 54 79 70 65 3d | 3d 22 72 75 6c 65 73 22 |eryType=|="rules"|
|00004df0| 20 29 0d 0a 09 7b 0d 0a | 09 09 52 65 73 75 6c 74 | )...{..|..Result|
|00004e00| 20 3d 20 53 65 6e 64 51 | 75 65 72 79 50 61 63 6b | = SendQ|ueryPack|
|00004e10| 65 74 28 41 64 64 72 2c | 20 47 65 74 52 75 6c 65 |et(Addr,| GetRule|
|00004e20| 73 28 29 2c 20 51 75 65 | 72 79 4e 75 6d 2c 20 50 |s(), Que|ryNum, P|
|00004e30| 61 63 6b 65 74 4e 75 6d | 2c 20 62 46 69 6e 61 6c |acketNum|, bFinal|
|00004e40| 50 61 63 6b 65 74 29 3b | 0d 0a 09 7d 0d 0a 09 65 |Packet);|...}...e|
|00004e50| 6c 73 65 20 69 66 28 20 | 51 75 65 72 79 54 79 70 |lse if( |QueryTyp|
|00004e60| 65 3d 3d 22 70 6c 61 79 | 65 72 73 22 20 29 0d 0a |e=="play|ers" )..|
|00004e70| 09 7b 0d 0a 09 09 69 66 | 28 20 4c 65 76 65 6c 2e |.{....if|( Level.|
|00004e80| 47 61 6d 65 2e 4e 75 6d | 50 6c 61 79 65 72 73 20 |Game.Num|Players |
|00004e90| 3e 20 30 20 29 0d 0a 09 | 09 09 52 65 73 75 6c 74 |> 0 )...|..Result|
|00004ea0| 20 3d 20 53 65 6e 64 50 | 6c 61 79 65 72 73 28 41 | = SendP|layers(A|
|00004eb0| 64 64 72 2c 20 51 75 65 | 72 79 4e 75 6d 2c 20 50 |ddr, Que|ryNum, P|
|00004ec0| 61 63 6b 65 74 4e 75 6d | 2c 20 62 46 69 6e 61 6c |acketNum|, bFinal|
|00004ed0| 50 61 63 6b 65 74 29 3b | 0d 0a 09 09 65 6c 73 65 |Packet);|....else|
|00004ee0| 0d 0a 09 09 09 52 65 73 | 75 6c 74 20 3d 20 53 65 |.....Res|ult = Se|
|00004ef0| 6e 64 51 75 65 72 79 50 | 61 63 6b 65 74 28 41 64 |ndQueryP|acket(Ad|
|00004f00| 64 72 2c 20 22 22 2c 20 | 51 75 65 72 79 4e 75 6d |dr, "", |QueryNum|
|00004f10| 2c 20 50 61 63 6b 65 74 | 4e 75 6d 2c 20 62 46 69 |, Packet|Num, bFi|
|00004f20| 6e 61 6c 50 61 63 6b 65 | 74 29 3b 0d 0a 09 7d 0d |nalPacke|t);...}.|
|00004f30| 0a 09 65 6c 73 65 20 69 | 66 28 20 51 75 65 72 79 |..else i|f( Query|
|00004f40| 54 79 70 65 3d 3d 22 73 | 74 61 74 75 73 22 20 29 |Type=="s|tatus" )|
|00004f50| 0d 0a 09 7b 0d 0a 09 09 | 52 65 73 75 6c 74 20 3d |...{....|Result =|
|00004f60| 20 53 65 6e 64 51 75 65 | 72 79 50 61 63 6b 65 74 | SendQue|ryPacket|
|00004f70| 28 41 64 64 72 2c 20 47 | 65 74 42 61 73 69 63 28 |(Addr, G|etBasic(|
|00004f80| 29 2c 20 51 75 65 72 79 | 4e 75 6d 2c 20 50 61 63 |), Query|Num, Pac|
|00004f90| 6b 65 74 4e 75 6d 2c 20 | 30 29 3b 0d 0a 09 09 52 |ketNum, |0);....R|
|00004fa0| 65 73 75 6c 74 20 3d 20 | 53 65 6e 64 51 75 65 72 |esult = |SendQuer|
|00004fb0| 79 50 61 63 6b 65 74 28 | 41 64 64 72 2c 20 47 65 |yPacket(|Addr, Ge|
|00004fc0| 74 49 6e 66 6f 28 29 2c | 20 51 75 65 72 79 4e 75 |tInfo(),| QueryNu|
|00004fd0| 6d 2c 20 50 61 63 6b 65 | 74 4e 75 6d 2c 20 30 29 |m, Packe|tNum, 0)|
|00004fe0| 3b 0d 0a 09 09 69 66 28 | 20 4c 65 76 65 6c 2e 47 |;....if(| Level.G|
|00004ff0| 61 6d 65 2e 4e 75 6d 50 | 6c 61 79 65 72 73 20 3d |ame.NumP|layers =|
|00005000| 3d 20 30 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 52 |= 0 )...|.{.....R|
|00005010| 65 73 75 6c 74 20 3d 20 | 53 65 6e 64 51 75 65 72 |esult = |SendQuer|
|00005020| 79 50 61 63 6b 65 74 28 | 41 64 64 72 2c 20 47 65 |yPacket(|Addr, Ge|
|00005030| 74 52 75 6c 65 73 28 29 | 2c 20 51 75 65 72 79 4e |tRules()|, QueryN|
|00005040| 75 6d 2c 20 50 61 63 6b | 65 74 4e 75 6d 2c 20 62 |um, Pack|etNum, b|
|00005050| 46 69 6e 61 6c 50 61 63 | 6b 65 74 29 3b 0d 0a 09 |FinalPac|ket);...|
|00005060| 09 7d 0d 0a 09 09 65 6c | 73 65 0d 0a 09 09 7b 0d |.}....el|se....{.|
|00005070| 0a 09 09 09 52 65 73 75 | 6c 74 20 3d 20 53 65 6e |....Resu|lt = Sen|
|00005080| 64 51 75 65 72 79 50 61 | 63 6b 65 74 28 41 64 64 |dQueryPa|cket(Add|
|00005090| 72 2c 20 47 65 74 52 75 | 6c 65 73 28 29 2c 20 51 |r, GetRu|les(), Q|
|000050a0| 75 65 72 79 4e 75 6d 2c | 20 50 61 63 6b 65 74 4e |ueryNum,| PacketN|
|000050b0| 75 6d 2c 20 30 29 3b 0d | 0a 09 09 09 52 65 73 75 |um, 0);.|....Resu|
|000050c0| 6c 74 20 3d 20 53 65 6e | 64 50 6c 61 79 65 72 73 |lt = Sen|dPlayers|
|000050d0| 28 41 64 64 72 2c 20 51 | 75 65 72 79 4e 75 6d 2c |(Addr, Q|ueryNum,|
|000050e0| 20 50 61 63 6b 65 74 4e | 75 6d 2c 20 62 46 69 6e | PacketN|um, bFin|
|000050f0| 61 6c 50 61 63 6b 65 74 | 29 3b 0d 0a 09 09 7d 0d |alPacket|);....}.|
|00005100| 0a 09 7d 0d 0a 09 65 6c | 73 65 20 69 66 28 20 51 |..}...el|se if( Q|
|00005110| 75 65 72 79 54 79 70 65 | 3d 3d 22 65 63 68 6f 22 |ueryType|=="echo"|
|00005120| 20 29 0d 0a 09 7b 0d 0a | 09 09 2f 2f 20 52 65 73 | )...{..|..// Res|
|00005130| 70 6f 6e 64 20 74 6f 20 | 61 6e 20 65 63 68 6f 20 |pond to |an echo |
|00005140| 77 69 74 68 20 74 68 65 | 20 73 61 6d 65 20 73 74 |with the| same st|
|00005150| 72 69 6e 67 0d 0a 09 09 | 52 65 73 75 6c 74 20 3d |ring....|Result =|
|00005160| 20 53 65 6e 64 51 75 65 | 72 79 50 61 63 6b 65 74 | SendQue|ryPacket|
|00005170| 28 41 64 64 72 2c 20 22 | 5c 5c 65 63 68 6f 5c 5c |(Addr, "|\\echo\\|
|00005180| 22 24 51 75 65 72 79 56 | 61 6c 75 65 2c 20 51 75 |"$QueryV|alue, Qu|
|00005190| 65 72 79 4e 75 6d 2c 20 | 50 61 63 6b 65 74 4e 75 |eryNum, |PacketNu|
|000051a0| 6d 2c 20 62 46 69 6e 61 | 6c 50 61 63 6b 65 74 29 |m, bFina|lPacket)|
|000051b0| 3b 0d 0a 09 7d 0d 0a 09 | 65 6c 73 65 20 69 66 28 |;...}...|else if(|
|000051c0| 20 51 75 65 72 79 54 79 | 70 65 3d 3d 22 73 65 63 | QueryTy|pe=="sec|
|000051d0| 75 72 65 22 20 29 0d 0a | 09 7b 0d 0a 09 09 56 61 |ure" )..|.{....Va|
|000051e0| 6c 69 64 61 74 69 6f 6e | 53 74 72 69 6e 67 20 3d |lidation|String =|
|000051f0| 20 22 5c 5c 76 61 6c 69 | 64 61 74 65 5c 5c 22 24 | "\\vali|date\\"$|
|00005200| 56 61 6c 69 64 61 74 65 | 28 51 75 65 72 79 56 61 |Validate|(QueryVa|
|00005210| 6c 75 65 2c 20 47 61 6d | 65 4e 61 6d 65 29 3b 0d |lue, Gam|eName);.|
|00005220| 0a 09 09 52 65 73 75 6c | 74 20 3d 20 53 65 6e 64 |...Resul|t = Send|
|00005230| 51 75 65 72 79 50 61 63 | 6b 65 74 28 41 64 64 72 |QueryPac|ket(Addr|
|00005240| 2c 20 56 61 6c 69 64 61 | 74 69 6f 6e 53 74 72 69 |, Valida|tionStri|
|00005250| 6e 67 2c 20 51 75 65 72 | 79 4e 75 6d 2c 20 50 61 |ng, Quer|yNum, Pa|
|00005260| 63 6b 65 74 4e 75 6d 2c | 20 62 46 69 6e 61 6c 50 |cketNum,| bFinalP|
|00005270| 61 63 6b 65 74 29 3b 0d | 0a 09 7d 0d 0a 09 65 6c |acket);.|..}...el|
|00005280| 73 65 20 69 66 28 20 51 | 75 65 72 79 54 79 70 65 |se if( Q|ueryType|
|00005290| 3d 3d 22 6c 65 76 65 6c | 5f 70 72 6f 70 65 72 74 |=="level|_propert|
|000052a0| 79 22 20 29 0d 0a 09 7b | 0d 0a 09 09 52 65 73 75 |y" )...{|....Resu|
|000052b0| 6c 74 20 3d 20 53 65 6e | 64 51 75 65 72 79 50 61 |lt = Sen|dQueryPa|
|000052c0| 63 6b 65 74 28 41 64 64 | 72 2c 20 47 65 74 4c 65 |cket(Add|r, GetLe|
|000052d0| 76 65 6c 50 72 6f 70 65 | 72 74 79 28 51 75 65 72 |velPrope|rty(Quer|
|000052e0| 79 56 61 6c 75 65 29 2c | 20 51 75 65 72 79 4e 75 |yValue),| QueryNu|
|000052f0| 6d 2c 20 50 61 63 6b 65 | 74 4e 75 6d 2c 20 62 46 |m, Packe|tNum, bF|
|00005300| 69 6e 61 6c 50 61 63 6b | 65 74 29 3b 0d 0a 09 7d |inalPack|et);...}|
|00005310| 0d 0a 09 65 6c 73 65 20 | 69 66 28 20 51 75 65 72 |...else |if( Quer|
|00005320| 79 54 79 70 65 3d 3d 22 | 67 61 6d 65 5f 70 72 6f |yType=="|game_pro|
|00005330| 70 65 72 74 79 22 20 29 | 0d 0a 09 7b 0d 0a 09 09 |perty" )|...{....|
|00005340| 09 52 65 73 75 6c 74 20 | 3d 20 53 65 6e 64 51 75 |.Result |= SendQu|
|00005350| 65 72 79 50 61 63 6b 65 | 74 28 41 64 64 72 2c 20 |eryPacke|t(Addr, |
|00005360| 47 65 74 47 61 6d 65 50 | 72 6f 70 65 72 74 79 28 |GetGameP|roperty(|
|00005370| 51 75 65 72 79 56 61 6c | 75 65 29 2c 20 51 75 65 |QueryVal|ue), Que|
|00005380| 72 79 4e 75 6d 2c 20 50 | 61 63 6b 65 74 4e 75 6d |ryNum, P|acketNum|
|00005390| 2c 20 62 46 69 6e 61 6c | 50 61 63 6b 65 74 29 3b |, bFinal|Packet);|
|000053a0| 0d 0a 09 7d 0d 0a 09 65 | 6c 73 65 20 69 66 28 20 |...}...e|lse if( |
|000053b0| 51 75 65 72 79 54 79 70 | 65 3d 3d 22 70 6c 61 79 |QueryTyp|e=="play|
|000053c0| 65 72 5f 70 72 6f 70 65 | 72 74 79 22 20 29 0d 0a |er_prope|rty" )..|
|000053d0| 09 7b 0d 0a 09 09 52 65 | 73 75 6c 74 20 3d 20 53 |.{....Re|sult = S|
|000053e0| 65 6e 64 51 75 65 72 79 | 50 61 63 6b 65 74 28 41 |endQuery|Packet(A|
|000053f0| 64 64 72 2c 20 47 65 74 | 50 6c 61 79 65 72 50 72 |ddr, Get|PlayerPr|
|00005400| 6f 70 65 72 74 79 28 51 | 75 65 72 79 56 61 6c 75 |operty(Q|ueryValu|
|00005410| 65 29 2c 20 51 75 65 72 | 79 4e 75 6d 2c 20 50 61 |e), Quer|yNum, Pa|
|00005420| 63 6b 65 74 4e 75 6d 2c | 20 62 46 69 6e 61 6c 50 |cketNum,| bFinalP|
|00005430| 61 63 6b 65 74 29 3b 0d | 0a 09 7d 0d 0a 09 65 6c |acket);.|..}...el|
|00005440| 73 65 0d 0a 09 7b 0d 0a | 09 09 4c 6f 67 28 22 55 |se...{..|..Log("U|
|00005450| 64 70 53 65 72 76 65 72 | 51 75 65 72 79 3a 20 55 |dpServer|Query: U|
|00005460| 6e 6b 6e 6f 77 6e 20 71 | 75 65 72 79 3a 20 22 24 |nknown q|uery: "$|
|00005470| 51 75 65 72 79 54 79 70 | 65 29 3b 0d 0a 09 7d 0d |QueryTyp|e);...}.|
|00005480| 0a 09 69 66 28 20 21 52 | 65 73 75 6c 74 20 29 0d |..if( !R|esult ).|
|00005490| 0a 09 09 4c 6f 67 28 22 | 55 64 70 53 65 72 76 65 |...Log("|UdpServe|
|000054a0| 72 51 75 65 72 79 3a 20 | 45 72 72 6f 72 20 72 65 |rQuery: |Error re|
|000054b0| 73 70 6f 6e 64 69 6e 67 | 20 74 6f 20 71 75 65 72 |sponding| to quer|
|000054c0| 79 2e 22 29 3b 0d 0a 09 | 72 65 74 75 72 6e 20 51 |y.");...|return Q|
|000054d0| 75 65 72 79 52 65 73 74 | 3b 0d 0a 7d 0d 0a 0d 0a |ueryRest|;..}....|
|000054e0| 66 75 6e 63 74 69 6f 6e | 20 62 6f 6f 6c 20 53 65 |function| bool Se|
|000054f0| 6e 64 41 50 61 63 6b 65 | 74 28 49 70 41 64 64 72 |ndAPacke|t(IpAddr|
|00005500| 20 41 64 64 72 2c 20 69 | 6e 74 20 51 75 65 72 79 | Addr, i|nt Query|
|00005510| 4e 75 6d 2c 20 6f 75 74 | 20 69 6e 74 20 50 61 63 |Num, out| int Pac|
|00005520| 6b 65 74 4e 75 6d 2c 20 | 69 6e 74 20 62 46 69 6e |ketNum, |int bFin|
|00005530| 61 6c 50 61 63 6b 65 74 | 29 0d 0a 7b 0d 0a 09 6c |alPacket|)..{...l|
|00005540| 6f 63 61 6c 20 62 6f 6f | 6c 20 52 65 73 75 6c 74 |ocal boo|l Result|
|00005550| 3b 0d 0a 0d 0a 09 52 65 | 70 6c 79 44 61 74 61 20 |;.....Re|plyData |
|00005560| 3d 20 52 65 70 6c 79 44 | 61 74 61 24 22 5c 5c 71 |= ReplyD|ata$"\\q|
|00005570| 75 65 72 79 69 64 5c 5c | 22 24 51 75 65 72 79 4e |ueryid\\|"$QueryN|
|00005580| 75 6d 24 22 2e 22 24 2b | 2b 50 61 63 6b 65 74 4e |um$"."$+|+PacketN|
|00005590| 75 6d 3b 0d 0a 09 69 66 | 20 28 62 46 69 6e 61 6c |um;...if| (bFinal|
|000055a0| 50 61 63 6b 65 74 20 3d | 3d 20 31 29 20 7b 0d 0a |Packet =|= 1) {..|
|000055b0| 09 09 52 65 70 6c 79 44 | 61 74 61 20 3d 20 52 65 |..ReplyD|ata = Re|
|000055c0| 70 6c 79 44 61 74 61 20 | 24 20 22 5c 5c 66 69 6e |plyData |$ "\\fin|
|000055d0| 61 6c 5c 5c 22 3b 0d 0a | 09 7d 0d 0a 09 52 65 73 |al\\";..|.}...Res|
|000055e0| 75 6c 74 20 3d 20 53 65 | 6e 64 54 65 78 74 28 41 |ult = Se|ndText(A|
|000055f0| 64 64 72 2c 20 52 65 70 | 6c 79 44 61 74 61 29 3b |ddr, Rep|lyData);|
|00005600| 0d 0a 09 52 65 70 6c 79 | 44 61 74 61 20 3d 20 22 |...Reply|Data = "|
|00005610| 22 3b 0d 0a 09 0d 0a 09 | 72 65 74 75 72 6e 20 52 |";......|return R|
|00005620| 65 73 75 6c 74 3b 0d 0a | 0d 0a 7d 0d 0a 0d 0a 2f |esult;..|..}..../|
|00005630| 2f 20 53 65 6e 64 51 75 | 65 72 79 50 61 63 6b 65 |/ SendQu|eryPacke|
|00005640| 74 20 69 73 20 61 20 77 | 72 61 70 70 65 72 20 66 |t is a w|rapper f|
|00005650| 6f 72 20 53 65 6e 64 54 | 65 78 74 20 74 68 61 74 |or SendT|ext that|
|00005660| 20 61 6c 6c 6f 77 73 20 | 66 6f 72 20 70 61 63 6b | allows |for pack|
|00005670| 65 74 20 6e 75 6d 62 65 | 72 69 6e 67 2e 0d 0a 66 |et numbe|ring...f|
|00005680| 75 6e 63 74 69 6f 6e 20 | 62 6f 6f 6c 20 53 65 6e |unction |bool Sen|
|00005690| 64 51 75 65 72 79 50 61 | 63 6b 65 74 28 49 70 41 |dQueryPa|cket(IpA|
|000056a0| 64 64 72 20 41 64 64 72 | 2c 20 63 6f 65 72 63 65 |ddr Addr|, coerce|
|000056b0| 20 73 74 72 69 6e 67 20 | 53 65 6e 64 53 74 72 69 | string |SendStri|
|000056c0| 6e 67 2c 20 69 6e 74 20 | 51 75 65 72 79 4e 75 6d |ng, int |QueryNum|
|000056d0| 2c 20 6f 75 74 20 69 6e | 74 20 50 61 63 6b 65 74 |, out in|t Packet|
|000056e0| 4e 75 6d 2c 20 69 6e 74 | 20 62 46 69 6e 61 6c 50 |Num, int| bFinalP|
|000056f0| 61 63 6b 65 74 29 0d 0a | 7b 0d 0a 09 6c 6f 63 61 |acket)..|{...loca|
|00005700| 6c 20 62 6f 6f 6c 20 52 | 65 73 75 6c 74 3b 0d 0a |l bool R|esult;..|
|00005710| 09 0d 0a 09 2f 2f 4c 6f | 67 28 22 53 65 6e 64 20 |....//Lo|g("Send |
|00005720| 51 75 65 72 79 3a 20 22 | 20 20 24 20 51 75 65 72 |Query: "| $ Quer|
|00005730| 79 4e 75 6d 20 24 20 22 | 2e 22 20 24 20 50 61 63 |yNum $ "|." $ Pac|
|00005740| 6b 65 74 4e 75 6d 20 24 | 20 22 3a 22 20 24 20 62 |ketNum $| ":" $ b|
|00005750| 46 69 6e 61 6c 50 61 63 | 6b 65 74 29 3b 0d 0a 09 |FinalPac|ket);...|
|00005760| 72 65 73 75 6c 74 20 3d | 20 74 72 75 65 3b 0d 0a |result =| true;..|
|00005770| 09 69 66 20 28 6c 65 6e | 28 52 65 70 6c 79 44 61 |.if (len|(ReplyDa|
|00005780| 74 61 29 20 2b 20 6c 65 | 6e 28 53 65 6e 64 53 74 |ta) + le|n(SendSt|
|00005790| 72 69 6e 67 29 20 3e 20 | 31 30 30 30 29 0d 0a 09 |ring) > |1000)...|
|000057a0| 09 72 65 73 75 6c 74 20 | 3d 20 53 65 6e 64 41 50 |.result |= SendAP|
|000057b0| 61 63 6b 65 74 28 41 64 | 64 72 2c 20 51 75 65 72 |acket(Ad|dr, Quer|
|000057c0| 79 4e 75 6d 2c 20 50 61 | 63 6b 65 74 4e 75 6d 2c |yNum, Pa|cketNum,|
|000057d0| 20 30 29 3b 0d 0a 09 0d | 0a 09 52 65 70 6c 79 44 | 0);....|..ReplyD|
|000057e0| 61 74 61 20 3d 20 52 65 | 70 6c 79 44 61 74 61 20 |ata = Re|plyData |
|000057f0| 24 20 53 65 6e 64 53 74 | 72 69 6e 67 3b 0d 0a 09 |$ SendSt|ring;...|
|00005800| 0d 0a 09 69 66 20 28 62 | 46 69 6e 61 6c 50 61 63 |...if (b|FinalPac|
|00005810| 6b 65 74 20 3d 3d 20 31 | 29 0d 0a 09 09 72 65 73 |ket == 1|)....res|
|00005820| 75 6c 74 20 3d 20 53 65 | 6e 64 41 50 61 63 6b 65 |ult = Se|ndAPacke|
|00005830| 74 28 41 64 64 72 2c 20 | 51 75 65 72 79 4e 75 6d |t(Addr, |QueryNum|
|00005840| 2c 20 50 61 63 6b 65 74 | 4e 75 6d 2c 20 62 46 69 |, Packet|Num, bFi|
|00005850| 6e 61 6c 50 61 63 6b 65 | 74 29 3b 0d 0a 09 09 0d |nalPacke|t);.....|
|00005860| 0a 09 72 65 74 75 72 6e | 20 52 65 73 75 6c 74 3b |..return| Result;|
|00005870| 0d 0a 7d 0d 0a 0d 0a 2f | 2f 20 52 65 74 75 72 6e |..}..../|/ Return|
|00005880| 20 61 20 73 74 72 69 6e | 67 20 6f 66 20 62 61 73 | a strin|g of bas|
|00005890| 69 63 20 69 6e 66 6f 72 | 6d 61 74 69 6f 6e 2e 0d |ic infor|mation..|
|000058a0| 0a 66 75 6e 63 74 69 6f | 6e 20 73 74 72 69 6e 67 |.functio|n string|
|000058b0| 20 47 65 74 42 61 73 69 | 63 28 29 20 7b 0d 0a 09 | GetBasi|c() {...|
|000058c0| 6c 6f 63 61 6c 20 73 74 | 72 69 6e 67 20 52 65 73 |local st|ring Res|
|000058d0| 75 6c 74 53 65 74 3b 0d | 0a 0d 0a 09 2f 2f 20 54 |ultSet;.|....// T|
|000058e0| 68 65 20 6e 61 6d 65 20 | 6f 66 20 74 68 69 73 20 |he name |of this |
|000058f0| 67 61 6d 65 2e 0d 0a 09 | 52 65 73 75 6c 74 53 65 |game....|ResultSe|
|00005900| 74 20 3d 20 22 5c 5c 67 | 61 6d 65 6e 61 6d 65 5c |t = "\\g|amename\|
|00005910| 5c 22 24 47 61 6d 65 4e | 61 6d 65 3b 0d 0a 0d 0a |\"$GameN|ame;....|
|00005920| 09 2f 2f 20 54 68 65 20 | 76 65 72 73 69 6f 6e 20 |.// The |version |
|00005930| 6f 66 20 74 68 69 73 20 | 67 61 6d 65 2e 0d 0a 09 |of this |game....|
|00005940| 52 65 73 75 6c 74 53 65 | 74 20 3d 20 52 65 73 75 |ResultSe|t = Resu|
|00005950| 6c 74 53 65 74 24 22 5c | 5c 67 61 6d 65 76 65 72 |ltSet$"\|\gamever|
|00005960| 5c 5c 22 24 4c 65 76 65 | 6c 2e 45 6e 67 69 6e 65 |\\"$Leve|l.Engine|
|00005970| 56 65 72 73 69 6f 6e 3b | 0d 0a 0d 0a 09 2f 2f 20 |Version;|.....// |
|00005980| 54 68 65 20 6d 6f 73 74 | 20 72 65 63 65 6e 74 20 |The most| recent |
|00005990| 6e 65 74 77 6f 72 6b 20 | 63 6f 6d 70 61 74 69 62 |network |compatib|
|000059a0| 6c 65 20 76 65 72 73 69 | 6f 6e 2e 0d 0a 09 52 65 |le versi|on....Re|
|000059b0| 73 75 6c 74 53 65 74 20 | 3d 20 52 65 73 75 6c 74 |sultSet |= Result|
|000059c0| 53 65 74 24 22 5c 5c 6d | 69 6e 6e 65 74 76 65 72 |Set$"\\m|innetver|
|000059d0| 5c 5c 22 24 4c 65 76 65 | 6c 2e 4d 69 6e 4e 65 74 |\\"$Leve|l.MinNet|
|000059e0| 56 65 72 73 69 6f 6e 3b | 0d 0a 0d 0a 09 2f 2f 20 |Version;|.....// |
|000059f0| 54 68 65 20 72 65 67 69 | 6f 6e 61 6c 20 6c 6f 63 |The regi|onal loc|
|00005a00| 61 74 69 6f 6e 20 6f 66 | 20 74 68 69 73 20 67 61 |ation of| this ga|
|00005a10| 6d 65 2e 0d 0a 09 52 65 | 73 75 6c 74 53 65 74 20 |me....Re|sultSet |
|00005a20| 3d 20 52 65 73 75 6c 74 | 53 65 74 24 22 5c 5c 6c |= Result|Set$"\\l|
|00005a30| 6f 63 61 74 69 6f 6e 5c | 5c 22 24 4c 65 76 65 6c |ocation\|\"$Level|
|00005a40| 2e 47 61 6d 65 2e 47 61 | 6d 65 52 65 70 6c 69 63 |.Game.Ga|meReplic|
|00005a50| 61 74 69 6f 6e 49 6e 66 | 6f 2e 52 65 67 69 6f 6e |ationInf|o.Region|
|00005a60| 3b 0d 0a 09 0d 0a 09 72 | 65 74 75 72 6e 20 52 65 |;......r|eturn Re|
|00005a70| 73 75 6c 74 53 65 74 3b | 0d 0a 7d 0d 0a 0d 0a 2f |sultSet;|..}..../|
|00005a80| 2f 20 52 65 74 75 72 6e | 20 61 20 73 74 72 69 6e |/ Return| a strin|
|00005a90| 67 20 6f 66 20 69 6d 70 | 6f 72 74 61 6e 74 20 73 |g of imp|ortant s|
|00005aa0| 79 73 74 65 6d 20 69 6e | 66 6f 72 6d 61 74 69 6f |ystem in|formatio|
|00005ab0| 6e 2e 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 73 74 72 |n...func|tion str|
|00005ac0| 69 6e 67 20 47 65 74 49 | 6e 66 6f 28 29 20 7b 0d |ing GetI|nfo() {.|
|00005ad0| 0a 09 6c 6f 63 61 6c 20 | 73 74 72 69 6e 67 20 52 |..local |string R|
|00005ae0| 65 73 75 6c 74 53 65 74 | 3b 0d 0a 0d 0a 09 2f 2f |esultSet|;.....//|
|00005af0| 20 54 68 65 20 73 65 72 | 76 65 72 20 6e 61 6d 65 | The ser|ver name|
|00005b00| 2c 20 69 2e 65 2e 3a 20 | 42 6f 62 27 73 20 53 65 |, i.e.: |Bob's Se|
|00005b10| 72 76 65 72 0d 0a 09 52 | 65 73 75 6c 74 53 65 74 |rver...R|esultSet|
|00005b20| 20 3d 20 22 5c 5c 68 6f | 73 74 6e 61 6d 65 5c 5c | = "\\ho|stname\\|
|00005b30| 22 24 4c 65 76 65 6c 2e | 47 61 6d 65 2e 47 61 6d |"$Level.|Game.Gam|
|00005b40| 65 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |eReplica|tionInfo|
|00005b50| 2e 53 65 72 76 65 72 4e | 61 6d 65 3b 0d 0a 0d 0a |.ServerN|ame;....|
|00005b60| 09 2f 2f 20 54 68 65 20 | 73 68 6f 72 74 20 73 65 |.// The |short se|
|00005b70| 72 76 65 72 20 6e 61 6d | 65 0d 0a 09 2f 2f 52 65 |rver nam|e...//Re|
|00005b80| 73 75 6c 74 53 65 74 20 | 3d 20 52 65 73 75 6c 74 |sultSet |= Result|
|00005b90| 53 65 74 24 22 5c 5c 73 | 68 6f 72 74 6e 61 6d 65 |Set$"\\s|hortname|
|00005ba0| 5c 5c 22 24 4c 65 76 65 | 6c 2e 47 61 6d 65 2e 47 |\\"$Leve|l.Game.G|
|00005bb0| 61 6d 65 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |ameRepli|cationIn|
|00005bc0| 66 6f 2e 53 68 6f 72 74 | 4e 61 6d 65 3b 0d 0a 0d |fo.Short|Name;...|
|00005bd0| 0a 09 2f 2f 20 54 68 65 | 20 73 65 72 76 65 72 20 |..// The| server |
|00005be0| 70 6f 72 74 2e 0d 0a 09 | 52 65 73 75 6c 74 53 65 |port....|ResultSe|
|00005bf0| 74 20 3d 20 52 65 73 75 | 6c 74 53 65 74 24 22 5c |t = Resu|ltSet$"\|
|00005c00| 5c 68 6f 73 74 70 6f 72 | 74 5c 5c 22 24 4c 65 76 |\hostpor|t\\"$Lev|
|00005c10| 65 6c 2e 47 61 6d 65 2e | 47 65 74 53 65 72 76 65 |el.Game.|GetServe|
|00005c20| 72 50 6f 72 74 28 29 3b | 0d 0a 0d 0a 09 2f 2f 20 |rPort();|.....// |
|00005c30| 28 6f 70 74 69 6f 6e 61 | 6c 29 20 54 68 65 20 73 |(optiona|l) The s|
|00005c40| 65 72 76 65 72 20 49 50 | 0d 0a 09 2f 2f 20 69 66 |erver IP|...// if|
|00005c50| 20 28 53 65 72 76 65 72 | 49 50 20 21 3d 20 22 22 | (Server|IP != ""|
|00005c60| 29 0d 0a 09 2f 2f 09 52 | 65 73 75 6c 74 53 65 74 |)...//.R|esultSet|
|00005c70| 20 3d 20 52 65 73 75 6c | 74 53 65 74 24 22 5c 5c | = Resul|tSet$"\\|
|00005c80| 68 6f 73 74 69 70 5c 5c | 22 24 53 65 72 76 65 72 |hostip\\|"$Server|
|00005c90| 49 50 3b 0d 0a 0d 0a 09 | 2f 2f 20 54 68 65 20 6d |IP;.....|// The m|
|00005ca0| 61 70 2f 6c 65 76 65 6c | 20 74 69 74 6c 65 0d 0a |ap/level| title..|
|00005cb0| 09 52 65 73 75 6c 74 53 | 65 74 20 3d 20 52 65 73 |.ResultS|et = Res|
|00005cc0| 75 6c 74 53 65 74 24 22 | 5c 5c 6d 61 70 74 69 74 |ultSet$"|\\maptit|
|00005cd0| 6c 65 5c 5c 22 24 4c 65 | 76 65 6c 2e 54 69 74 6c |le\\"$Le|vel.Titl|
|00005ce0| 65 3b 0d 0a 09 0d 0a 09 | 2f 2f 20 4d 61 70 20 6e |e;......|// Map n|
|00005cf0| 61 6d 65 0d 0a 09 52 65 | 73 75 6c 74 53 65 74 20 |ame...Re|sultSet |
|00005d00| 3d 20 52 65 73 75 6c 74 | 53 65 74 24 22 5c 5c 6d |= Result|Set$"\\m|
|00005d10| 61 70 6e 61 6d 65 5c 5c | 22 24 4c 65 66 74 28 73 |apname\\|"$Left(s|
|00005d20| 74 72 69 6e 67 28 4c 65 | 76 65 6c 29 2c 20 49 6e |tring(Le|vel), In|
|00005d30| 53 74 72 28 73 74 72 69 | 6e 67 28 4c 65 76 65 6c |Str(stri|ng(Level|
|00005d40| 29 2c 20 22 2e 22 29 29 | 3b 0d 0a 0d 0a 09 2f 2f |), "."))|;.....//|
|00005d50| 20 54 68 65 20 6d 6f 64 | 20 6f 72 20 67 61 6d 65 | The mod| or game|
|00005d60| 20 74 79 70 65 0d 0a 09 | 52 65 73 75 6c 74 53 65 | type...|ResultSe|
|00005d70| 74 20 3d 20 52 65 73 75 | 6c 74 53 65 74 24 22 5c |t = Resu|ltSet$"\|
|00005d80| 5c 67 61 6d 65 74 79 70 | 65 5c 5c 22 24 47 65 74 |\gametyp|e\\"$Get|
|00005d90| 49 74 65 6d 4e 61 6d 65 | 28 73 74 72 69 6e 67 28 |ItemName|(string(|
|00005da0| 4c 65 76 65 6c 2e 47 61 | 6d 65 2e 43 6c 61 73 73 |Level.Ga|me.Class|
|00005db0| 29 29 3b 0d 0a 0d 0a 09 | 2f 2f 20 54 68 65 20 6e |));.....|// The n|
|00005dc0| 75 6d 62 65 72 20 6f 66 | 20 70 6c 61 79 65 72 73 |umber of| players|
|00005dd0| 0d 0a 09 52 65 73 75 6c | 74 53 65 74 20 3d 20 52 |...Resul|tSet = R|
|00005de0| 65 73 75 6c 74 53 65 74 | 24 22 5c 5c 6e 75 6d 70 |esultSet|$"\\nump|
|00005df0| 6c 61 79 65 72 73 5c 5c | 22 24 4c 65 76 65 6c 2e |layers\\|"$Level.|
|00005e00| 47 61 6d 65 2e 4e 75 6d | 50 6c 61 79 65 72 73 3b |Game.Num|Players;|
|00005e10| 0d 0a 0d 0a 09 2f 2f 20 | 54 68 65 20 6d 61 78 69 |.....// |The maxi|
|00005e20| 6d 75 6d 20 6e 75 6d 62 | 65 72 20 6f 66 20 70 6c |mum numb|er of pl|
|00005e30| 61 79 65 72 73 0d 0a 09 | 52 65 73 75 6c 74 53 65 |ayers...|ResultSe|
|00005e40| 74 20 3d 20 52 65 73 75 | 6c 74 53 65 74 24 22 5c |t = Resu|ltSet$"\|
|00005e50| 5c 6d 61 78 70 6c 61 79 | 65 72 73 5c 5c 22 24 4c |\maxplay|ers\\"$L|
|00005e60| 65 76 65 6c 2e 47 61 6d | 65 2e 4d 61 78 50 6c 61 |evel.Gam|e.MaxPla|
|00005e70| 79 65 72 73 3b 0d 0a 0d | 0a 09 2f 2f 20 54 68 65 |yers;...|..// The|
|00005e80| 20 67 61 6d 65 20 6d 6f | 64 65 3a 20 6f 70 65 6e | game mo|de: open|
|00005e90| 70 6c 61 79 69 6e 67 0d | 0a 09 52 65 73 75 6c 74 |playing.|..Result|
|00005ea0| 53 65 74 20 3d 20 52 65 | 73 75 6c 74 53 65 74 24 |Set = Re|sultSet$|
|00005eb0| 22 5c 5c 67 61 6d 65 6d | 6f 64 65 5c 5c 6f 70 65 |"\\gamem|ode\\ope|
|00005ec0| 6e 70 6c 61 79 69 6e 67 | 22 3b 0d 0a 0d 0a 09 2f |nplaying|";...../|
|00005ed0| 2f 20 54 68 65 20 76 65 | 72 73 69 6f 6e 20 6f 66 |/ The ve|rsion of|
|00005ee0| 20 74 68 69 73 20 67 61 | 6d 65 2e 0d 0a 09 52 65 | this ga|me....Re|
|00005ef0| 73 75 6c 74 53 65 74 20 | 3d 20 52 65 73 75 6c 74 |sultSet |= Result|
|00005f00| 53 65 74 24 22 5c 5c 67 | 61 6d 65 76 65 72 5c 5c |Set$"\\g|amever\\|
|00005f10| 22 24 4c 65 76 65 6c 2e | 45 6e 67 69 6e 65 56 65 |"$Level.|EngineVe|
|00005f20| 72 73 69 6f 6e 3b 0d 0a | 0d 0a 09 2f 2f 20 54 68 |rsion;..|...// Th|
|00005f30| 65 20 6d 6f 73 74 20 72 | 65 63 65 6e 74 20 6e 65 |e most r|ecent ne|
|00005f40| 74 77 6f 72 6b 20 63 6f | 6d 70 61 74 69 62 6c 65 |twork co|mpatible|
|00005f50| 20 76 65 72 73 69 6f 6e | 2e 0d 0a 09 52 65 73 75 | version|....Resu|
|00005f60| 6c 74 53 65 74 20 3d 20 | 52 65 73 75 6c 74 53 65 |ltSet = |ResultSe|
|00005f70| 74 24 22 5c 5c 6d 69 6e | 6e 65 74 76 65 72 5c 5c |t$"\\min|netver\\|
|00005f80| 22 24 4c 65 76 65 6c 2e | 4d 69 6e 4e 65 74 56 65 |"$Level.|MinNetVe|
|00005f90| 72 73 69 6f 6e 3b 0d 0a | 0d 0a 09 52 65 73 75 6c |rsion;..|...Resul|
|00005fa0| 74 53 65 74 20 3d 20 52 | 65 73 75 6c 74 53 65 74 |tSet = R|esultSet|
|00005fb0| 24 4c 65 76 65 6c 2e 47 | 61 6d 65 2e 47 65 74 49 |$Level.G|ame.GetI|
|00005fc0| 6e 66 6f 28 29 3b 0d 0a | 0d 0a 09 72 65 74 75 72 |nfo();..|...retur|
|00005fd0| 6e 20 52 65 73 75 6c 74 | 53 65 74 3b 0d 0a 7d 0d |n Result|Set;..}.|
|00005fe0| 0a 0d 0a 2f 2f 20 52 65 | 74 75 72 6e 20 61 20 73 |...// Re|turn a s|
|00005ff0| 74 72 69 6e 67 20 6f 66 | 20 6d 69 73 63 65 6c 6c |tring of| miscell|
|00006000| 61 6e 65 6f 75 73 20 69 | 6e 66 6f 72 6d 61 74 69 |aneous i|nformati|
|00006010| 6f 6e 2e 0d 0a 2f 2f 20 | 47 61 6d 65 20 73 70 65 |on...// |Game spe|
|00006020| 63 69 66 69 63 20 69 6e | 66 6f 72 6d 61 74 69 6f |cific in|formatio|
|00006030| 6e 2c 20 75 73 65 72 20 | 64 65 66 69 6e 65 64 20 |n, user |defined |
|00006040| 64 61 74 61 2c 20 63 75 | 73 74 6f 6d 20 70 61 72 |data, cu|stom par|
|00006050| 61 6d 65 74 65 72 73 20 | 66 6f 72 20 74 68 65 20 |ameters |for the |
|00006060| 63 6f 6d 6d 61 6e 64 20 | 6c 69 6e 65 2e 0d 0a 66 |command |line...f|
|00006070| 75 6e 63 74 69 6f 6e 20 | 73 74 72 69 6e 67 20 47 |unction |string G|
|00006080| 65 74 52 75 6c 65 73 28 | 29 0d 0a 7b 0d 0a 09 6c |etRules(|)..{...l|
|00006090| 6f 63 61 6c 20 73 74 72 | 69 6e 67 20 52 65 73 75 |ocal str|ing Resu|
|000060a0| 6c 74 53 65 74 3b 0d 0a | 0d 0a 09 52 65 73 75 6c |ltSet;..|...Resul|
|000060b0| 74 53 65 74 20 3d 20 4c | 65 76 65 6c 2e 47 61 6d |tSet = L|evel.Gam|
|000060c0| 65 2e 47 65 74 52 75 6c | 65 73 28 29 3b 0d 0a 0d |e.GetRul|es();...|
|000060d0| 0a 09 2f 2f 20 41 64 6d | 69 6e 27 73 20 4e 61 6d |..// Adm|in's Nam|
|000060e0| 65 0d 0a 09 69 66 28 20 | 4c 65 76 65 6c 2e 47 61 |e...if( |Level.Ga|
|000060f0| 6d 65 2e 47 61 6d 65 52 | 65 70 6c 69 63 61 74 69 |me.GameR|eplicati|
|00006100| 6f 6e 49 6e 66 6f 2e 41 | 64 6d 69 6e 4e 61 6d 65 |onInfo.A|dminName|
|00006110| 20 21 3d 20 22 22 20 29 | 0d 0a 09 09 52 65 73 75 | != "" )|....Resu|
|00006120| 6c 74 53 65 74 20 3d 20 | 52 65 73 75 6c 74 53 65 |ltSet = |ResultSe|
|00006130| 74 24 22 5c 5c 41 64 6d | 69 6e 4e 61 6d 65 5c 5c |t$"\\Adm|inName\\|
|00006140| 22 24 4c 65 76 65 6c 2e | 47 61 6d 65 2e 47 61 6d |"$Level.|Game.Gam|
|00006150| 65 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |eReplica|tionInfo|
|00006160| 2e 41 64 6d 69 6e 4e 61 | 6d 65 3b 0d 0a 09 0d 0a |.AdminNa|me;.....|
|00006170| 09 2f 2f 20 41 64 6d 69 | 6e 27 73 20 45 6d 61 69 |.// Admi|n's Emai|
|00006180| 6c 0d 0a 09 69 66 28 20 | 4c 65 76 65 6c 2e 47 61 |l...if( |Level.Ga|
|00006190| 6d 65 2e 47 61 6d 65 52 | 65 70 6c 69 63 61 74 69 |me.GameR|eplicati|
|000061a0| 6f 6e 49 6e 66 6f 2e 41 | 64 6d 69 6e 45 6d 61 69 |onInfo.A|dminEmai|
|000061b0| 6c 20 21 3d 20 22 22 20 | 29 0d 0a 09 09 52 65 73 |l != "" |)....Res|
|000061c0| 75 6c 74 53 65 74 20 3d | 20 52 65 73 75 6c 74 53 |ultSet =| ResultS|
|000061d0| 65 74 24 22 5c 5c 41 64 | 6d 69 6e 45 4d 61 69 6c |et$"\\Ad|minEMail|
|000061e0| 5c 5c 22 24 4c 65 76 65 | 6c 2e 47 61 6d 65 2e 47 |\\"$Leve|l.Game.G|
|000061f0| 61 6d 65 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |ameRepli|cationIn|
|00006200| 66 6f 2e 41 64 6d 69 6e | 45 6d 61 69 6c 3b 0d 0a |fo.Admin|Email;..|
|00006210| 0d 0a 09 72 65 74 75 72 | 6e 20 52 65 73 75 6c 74 |...retur|n Result|
|00006220| 53 65 74 3b 0d 0a 7d 0d | 0a 0d 0a 2f 2f 20 52 65 |Set;..}.|...// Re|
|00006230| 74 75 72 6e 20 61 20 73 | 74 72 69 6e 67 20 6f 66 |turn a s|tring of|
|00006240| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 6f 6e 20 | informa|tion on |
|00006250| 61 20 70 6c 61 79 65 72 | 2e 0d 0a 66 75 6e 63 74 |a player|...funct|
|00006260| 69 6f 6e 20 73 74 72 69 | 6e 67 20 47 65 74 50 6c |ion stri|ng GetPl|
|00006270| 61 79 65 72 28 20 50 6c | 61 79 65 72 50 61 77 6e |ayer( Pl|ayerPawn|
|00006280| 20 50 2c 20 69 6e 74 20 | 50 6c 61 79 65 72 4e 75 | P, int |PlayerNu|
|00006290| 6d 20 29 0d 0a 7b 0d 0a | 09 6c 6f 63 61 6c 20 73 |m )..{..|.local s|
|000062a0| 74 72 69 6e 67 20 52 65 | 73 75 6c 74 53 65 74 3b |tring Re|sultSet;|
|000062b0| 0d 0a 09 6c 6f 63 61 6c | 20 73 74 72 69 6e 67 20 |...local| string |
|000062c0| 53 6b 69 6e 4e 61 6d 65 | 2c 20 46 61 63 65 4e 61 |SkinName|, FaceNa|
|000062d0| 6d 65 3b 0d 0a 0d 0a 09 | 2f 2f 20 4e 61 6d 65 0d |me;.....|// Name.|
|000062e0| 0a 09 52 65 73 75 6c 74 | 53 65 74 20 3d 20 22 5c |..Result|Set = "\|
|000062f0| 5c 70 6c 61 79 65 72 5f | 22 24 50 6c 61 79 65 72 |\player_|"$Player|
|00006300| 4e 75 6d 24 22 5c 5c 22 | 24 50 2e 50 6c 61 79 65 |Num$"\\"|$P.Playe|
|00006310| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|00006320| 2e 50 6c 61 79 65 72 4e | 61 6d 65 3b 0d 0a 0d 0a |.PlayerN|ame;....|
|00006330| 09 2f 2f 20 46 72 61 67 | 73 0d 0a 09 52 65 73 75 |.// Frag|s...Resu|
|00006340| 6c 74 53 65 74 20 3d 20 | 52 65 73 75 6c 74 53 65 |ltSet = |ResultSe|
|00006350| 74 24 22 5c 5c 66 72 61 | 67 73 5f 22 24 50 6c 61 |t$"\\fra|gs_"$Pla|
|00006360| 79 65 72 4e 75 6d 24 22 | 5c 5c 22 24 69 6e 74 28 |yerNum$"|\\"$int(|
|00006370| 50 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |P.Player|Replicat|
|00006380| 69 6f 6e 49 6e 66 6f 2e | 53 63 6f 72 65 29 3b 0d |ionInfo.|Score);.|
|00006390| 0a 0d 0a 09 2f 2f 20 50 | 69 6e 67 0d 0a 09 52 65 |....// P|ing...Re|
|000063a0| 73 75 6c 74 53 65 74 20 | 3d 20 52 65 73 75 6c 74 |sultSet |= Result|
|000063b0| 53 65 74 24 22 5c 5c 70 | 69 6e 67 5f 22 24 50 6c |Set$"\\p|ing_"$Pl|
|000063c0| 61 79 65 72 4e 75 6d 24 | 22 5c 5c 22 24 50 2e 43 |ayerNum$|"\\"$P.C|
|000063d0| 6f 6e 73 6f 6c 65 43 6f | 6d 6d 61 6e 64 28 22 47 |onsoleCo|mmand("G|
|000063e0| 45 54 50 49 4e 47 22 29 | 3b 0d 0a 0d 0a 09 2f 2f |ETPING")|;.....//|
|000063f0| 20 54 65 61 6d 0d 0a 09 | 52 65 73 75 6c 74 53 65 | Team...|ResultSe|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.