public void run() {
        try {
            DataInputStream in = new DataInputStream( socket.getInputStream() );

            port = in.readInt();
            int length = in.readInt();
            byte[] message = new byte[length];
            in.readFully( message, 0, message.length );
            DataInputStream data = new DataInputStream( new ByteArrayInputStream( message ) );

            String task = data.readUTF();

            if ( task.equals( "PlayersTeleportBackLocation" ) ) {
                TeleportManager.setPlayersTeleportBackLocation( PlayerManager.getPlayer( data.readUTF() ), new Location( getServer( new InetSocketAddress( socket.getInetAddress(), port ) ), data.readUTF(), data.readDouble(), data.readDouble(), data.readDouble() ) );
            }


            data.close();
            in.close();

        } catch ( IOException e ) {
            e.printStackTrace();
        }
    }