Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.85 KB | None | 0 0
  1. /*
  2. * | Project Bloody / Private Server |
  3. * | By : YuriG.Dev & MoMzGames |
  4. */
  5.  
  6. using System;
  7. using System.Collections.Generic;
  8. using System.IO;
  9. using System.Net;
  10. using System.Net.Sockets;
  11.  
  12. namespace BattleServer
  13. {
  14. public class BattleHandler
  15. {
  16. private UdpClient _Client;
  17.  
  18. public BattleHandler(UdpClient Client)
  19. {
  20. this._Client = Client;
  21. try
  22. {
  23. this._Client.BeginReceive(new AsyncCallback(this.BeginReceive), null);
  24. }
  25. catch (Exception exception)
  26. {
  27. }
  28. }
  29.  
  30. public void BeginReceive(IAsyncResult result)
  31. {
  32. int i;
  33. IPEndPoint pEndPoint = null;
  34. byte[] numArray = this._Client.EndReceive(result, ref pEndPoint);
  35. CLogger.getInstance().Warning(string.Concat("[BH] Opcode : ", numArray[0]));
  36. switch (numArray[0])
  37. {
  38. case 1:
  39. {
  40. List<Player> Player = Program.getRoomManager().getPlayersINRoom(pEndPoint.Address);
  41. for (i = 0; i < Player.Count; i++)
  42. {
  43. Player Item = Player[i];
  44. if (Item != null)
  45. {
  46. CLogger.getInstance().Warning(string.Concat("[BH] SendData From IP = ", pEndPoint.Address.ToString() + " : " + pEndPoint.Port));
  47. this._Client.Send(numArray, (int)numArray.Length, Item._Address.ToString(), 29890);
  48. }
  49. }
  50. break;
  51. }
  52. case 2:
  53. {
  54. CLogger.getInstance().Warning(string.Concat("[BH] Opcode : ", numArray[0]));
  55. return;
  56. }
  57. default:
  58. {
  59. switch (numArray[0])
  60. {
  61. case 65:
  62. {
  63. CLogger.getInstance().Warning(string.Concat("[BH] Opcode : ", numArray[0]));
  64. MemoryStream MemoryStream65 = new MemoryStream();
  65. Player Item = new Player()
  66. {
  67. _Address = pEndPoint.Address,
  68. Slot = numArray[1]
  69. };
  70. CLogger.getInstance().Warning(string.Concat("[BH] IP : ", pEndPoint.Address.ToString() + " : " + pEndPoint.Port));
  71. CLogger.getInstance().Warning(string.Concat("[BH] Rooms Count : ", Program.getRoomManager().getRooms().Count));
  72. for (i = 0; i < Program.getRoomManager().getCountPlayer(pEndPoint.Address); i++)
  73. {
  74. Room Room = Program.getRoomManager().getRoom(pEndPoint.Address);
  75. if (Room != null)
  76. {
  77. if (Room.IPAddress.Equals(pEndPoint.Address.ToString()))
  78. {
  79. CLogger.getInstance().Warning(string.Concat("[BH] Client : ", Room.IPAddress.ToString()));
  80. MemoryStream65.WriteByte((byte)66);
  81. MemoryStream65.WriteByte((byte)0);
  82. MemoryStream65.Write(new byte[5], 0, 5);
  83. MemoryStream65.WriteByte((byte)0x0b);
  84. MemoryStream65.Write(new byte[3], 0, 3);
  85. CLogger.getInstance().Warning(string.Concat("[BH] SendData From IP = ", pEndPoint.Address.ToString() + " : " + pEndPoint.Port));
  86. this._Client.Send(MemoryStream65.ToArray(), checked((int)MemoryStream65.Length), pEndPoint);
  87. }
  88. }
  89. }
  90. break;
  91. }
  92. case 66:
  93. {
  94. CLogger.getInstance().Warning(string.Concat("[BH] Opcode : ", numArray[0]));
  95. MemoryStream MemoryStream66 = new MemoryStream();
  96. Player Player = Program.getRoomManager().getPlayer(pEndPoint.Address);
  97. if (Player != null)
  98. {
  99. MemoryStream66.WriteByte((byte)66);
  100. MemoryStream66.WriteByte((byte)0);
  101. MemoryStream66.Write(new byte[5], 0, 5);
  102. MemoryStream66.WriteByte((byte)0x0b);
  103. MemoryStream66.Write(new byte[3], 0, 3);
  104. CLogger.getInstance().Warning(string.Concat("[BH] SendData From IP = ", pEndPoint.Address.ToString() + " : " + pEndPoint.Port));
  105. this._Client.Send(MemoryStream66.ToArray(), checked((int)MemoryStream66.Length), pEndPoint);
  106. }
  107. break;
  108. }
  109. case 67:
  110. {
  111. Player Player = Program.getRoomManager().getPlayer(pEndPoint.Address);
  112. if (Player != null)
  113. {
  114. Player._Address = pEndPoint.Address;
  115. };
  116. Program.getRoomManager().RemovePlayerInRoom(pEndPoint.Address);
  117. break;
  118. }
  119. default:
  120. {
  121. CLogger.getInstance().Warning(string.Concat("[BH] Opcode : ", numArray[0]));
  122. return;
  123. }
  124. }
  125. break;
  126. }
  127. case (byte)131:
  128. case (byte)132:
  129. case 97:
  130. case 84:
  131. case 4:
  132. case 3:
  133. {
  134. MemoryStream MemoryStream132 = new MemoryStream();
  135. List<Player> playersINRoom = Program.getRoomManager().getPlayersINRoom(pEndPoint.Address);
  136. if (playersINRoom != null)
  137. {
  138. for (i = 0; i < playersINRoom.Count; i++)
  139. {
  140. Player Player = playersINRoom[i];
  141. if (Player != null)
  142. {
  143. if (Player._Address.ToString() != pEndPoint.Address.ToString())
  144. {
  145. CLogger.getInstance().Warning(string.Concat("[BH] Client: ", Player._Address.ToString()));
  146. MemoryStream132 = new MemoryStream();
  147. MemoryStream132.WriteByte(132);
  148. if (Program.getRoomManager().getRoom(pEndPoint.Address).Type != 3)
  149. {
  150. MemoryStream132.WriteByte(numArray[1]);
  151. }
  152. else
  153. {
  154. MemoryStream132.WriteByte(255);
  155. }
  156. MemoryStream132.Write(numArray, 2, checked((int)numArray.Length - 2));
  157. this._Client.Send(MemoryStream132.ToArray(), (int)MemoryStream132.ToArray().Length, Player._Address.ToString(), 29890);
  158. }
  159. }
  160. }
  161. }
  162. break;
  163. }
  164. {
  165. CLogger.getInstance().Warning(string.Concat("[BH] Opcode : ", numArray[0]));
  166. return;
  167. }
  168. }
  169. }
  170. }
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement