Exemple #1
0
        private static void HandleTexture(byte fromClient, Packet packet, int serverPacketId, string texName)
        {
            int texLength = packet.ReadInt();

            byte[] texBytes = packet.ReadBytes(texLength);

            Player player = Server.clients[fromClient].player;

            player.texBytes[texName]  = texBytes;
            player.texHashes[texName] = texBytes.Hash();

            ServerSend.SendTexture(fromClient, texBytes, serverPacketId);
        }
Exemple #2
0
        public static void HandleTextureRequest(byte fromClient, Packet packet)
        {
            if (!ServerSettings.CustomKnightIntegration)
            {
                return;
            }

            byte[] hash = packet.ReadBytes(20);

            Player player = Server.clients[fromClient].player;

            if (!player.textureHashes.Contains(hash))
            {
                player.textureHashes.Add(hash);
            }

            if (MultiplayerServer.textureCache.ContainsKey(hash))
            {
                byte[] texture = File.ReadAllBytes(MultiplayerServer.textureCache[hash]);
                ServerSend.SendTexture(fromClient, hash, texture);
            }
        }
Exemple #3
0
 private static void HandleTextureUpToDate(byte fromClient, Packet packet, int serverPacketId, string texName)
 {
     byte[] texBytes = Server.clients[fromClient].player.texBytes[texName];
     ServerSend.SendTexture(fromClient, texBytes, serverPacketId);
 }