Example #1
0
        public override void Reset()
        {
            if (mapPartStream == null)
            {
                mapPartStream = new FixedBufferStream(net.reader.buffer);
            }
            receivedFirstPosition = false;

            net.Set(Opcode.Handshake, HandleHandshake, 131);
            net.Set(Opcode.Ping, HandlePing, 1);
            net.Set(Opcode.LevelInit, HandleLevelInit, 1);
            net.Set(Opcode.LevelDataChunk, HandleLevelDataChunk, 1028);
            net.Set(Opcode.LevelFinalise, HandleLevelFinalise, 7);
            net.Set(Opcode.SetBlock, HandleSetBlock, 8);

            net.Set(Opcode.AddEntity, HandleAddEntity, 74);
            net.Set(Opcode.EntityTeleport, HandleEntityTeleport, 10);
            net.Set(Opcode.RelPosAndOrientationUpdate, HandleRelPosAndOrientationUpdate, 7);
            net.Set(Opcode.RelPosUpdate, HandleRelPositionUpdate, 5);
            net.Set(Opcode.OrientationUpdate, HandleOrientationUpdate, 4);
            net.Set(Opcode.RemoveEntity, HandleRemoveEntity, 2);

            net.Set(Opcode.Message, HandleMessage, 66);
            net.Set(Opcode.Kick, HandleKick, 65);
            net.Set(Opcode.SetPermission, HandleSetPermission, 2);
        }
        public override void Connect( IPAddress address, int port )
        {
            socket = new Socket( address.AddressFamily, SocketType.Stream, ProtocolType.Tcp );
            try {
                socket.Connect( address, port );
            } catch( SocketException ex ) {
                ErrorHandler.LogError( "connecting to server", ex );
                game.Disconnect( "&eUnable to reach " + address + ":" + port,
                                "Unable to establish an underlying connection" );
                Dispose();
                return;
            }

            NetworkStream stream = new NetworkStream( socket, true );
            reader = new NetReader( stream );
            writer = new NetWriter( stream );
            gzippedMap = new FixedBufferStream( reader.buffer );
            envMapAppearanceVer = 2;
            blockDefinitionsExtVer = 2;
            needD3Fix = false;

            Disconnected = false;
            receivedFirstPosition = false;
            lastPacket = DateTime.UtcNow;
            game.WorldEvents.OnNewMap += OnNewMap;

            MakeLoginPacket( game.Username, game.Mppass );
            SendPacket();
            lastPacket = DateTime.UtcNow;
        }
        public override void Connect( IPAddress address, int port )
        {
            socket = new Socket( address.AddressFamily, SocketType.Stream, ProtocolType.Tcp );
            try {
                socket.Connect( address, port );
            } catch( SocketException ex ) {
                ErrorHandler.LogError( "connecting to server", ex );
                game.Disconnect( "&eUnable to reach " + address + ":" + port,
                                "Unable to establish an underlying connection" );
                Dispose();
                return;
            }

            NetworkStream stream = new NetworkStream( socket, true );
            reader = new NetReader( stream );
            writer = new NetWriter( stream );
            gzippedMap = new FixedBufferStream( reader.buffer );
            MakeLoginPacket( game.Username, game.Mppass );
            SendPacket();
        }
Example #4
0
 public override void Init()
 {
     mapPartStream = new FixedBufferStream(net.reader.buffer);
     Reset();
 }
Example #5
0
 public override void Init()
 {
     gzippedMap = new FixedBufferStream(net.reader.buffer);
     Reset();
 }
 public override void Connect( IPAddress address, int port )
 {
     socket = new Socket( address.AddressFamily, SocketType.Stream, ProtocolType.Tcp );
     try {
         socket.Connect( address, port );
     } catch( SocketException ex ) {
         Utils.LogError( "Error while trying to connect: {0}{1}", Environment.NewLine, ex );
         game.Disconnect( "&eUnable to reach " + address + ":" + port,
                         "Unable to establish an underlying connection" );
         Dispose();
         return;
     }
     stream = new NetworkStream( socket, true );
     reader = new FastNetReader( stream );
     gzippedMap = new FixedBufferStream( reader.buffer );
     MakeLoginPacket( game.Username, game.Mppass );
     SendPacket();
 }