Thread: Thread-Per-Client fix Errors?

Results 1 to 5 of 5
  1. #1 Thread-Per-Client fix Errors? 
    Registered Member Scion's Avatar
    Join Date
    Jan 2011
    Age
    33
    Posts
    31
    Thanks given
    0
    Thanks received
    1
    Rep Power
    2
    I applied Graham's Thread-Per-Client fix to my Devo v7 source a while ago, and I was met with a few errors, which I sorted out. But now I have these, and I can't figure out what I should replace PlayerSave with.

    I posted this on his thread, and all I got was super_ being a dick. Would someone mind helping WITHOUT stating the obvious?

    Here's the errors:

    Code:
    IOClient.java:250: cannot find symbol
    symbol  : class PlayerSave
    location: class IOClient
            public PlayerSave loadGame(String playerName, String playerPass)
                   ^
    IOClient.java:182: cannot find symbol
    symbol  : class PlayerSave
    location: class IOClient
                                            PlayerSave loadgame = loadGame(playerNam
    e, playerPass);
                                            ^
    IOClient.java:252: cannot find symbol
    symbol  : class PlayerSave
    location: class IOClient
                    PlayerSave tempPlayer;
                    ^
    IOClient.java:257: cannot find symbol
    symbol  : class PlayerSave
    location: class IOClient
                            tempPlayer = (PlayerSave) in.readObject();
                                          ^
    4 errors
    Press any key to continue . . .
    And my Run() void (Which should have my save method?)
    If I should have posted something else, please let me know.

    Code:
    	public void run() {
    		isActive = false;
    		long serverSessionKey = 0, clientSessionKey = 0;
    		serverSessionKey = ((long) (java.lang.Math.random() * 99999999D) << 32)
    				+ (long) (java.lang.Math.random() * 99999999D);
    
    		try {
    			fillInStream(2);
    			if (inStream.readUnsignedByte() != 14) {
    				shutdownError("Expected login Id 14 from client.");
    				disconnected = true;
    				return;
    			}
    			int namePart = inStream.readUnsignedByte();
    			for (int i = 0; i < 8; i++) {
    				out.write(1);
    			}
    			out.write(0);
    
    			outStream.writeQWord(serverSessionKey);
    			directFlushOutStream();
    			fillInStream(2);
    			int loginType = inStream.readUnsignedByte();
    
    			if ((loginType != 16) && (loginType != 18)) {
    				shutdownError("Unexpected login type " + loginType);
    				return;
    			}
    			int loginPacketSize = inStream.readUnsignedByte();
    			int loginEncryptPacketSize = loginPacketSize - (36 + 1 + 1 + 2);
    			if (loginEncryptPacketSize <= 0) {
    				shutdownError("Zero RSA packet size!");
    				return;
    			}
    			fillInStream(loginPacketSize);
    			if ((inStream.readUnsignedByte() != 255)
    					|| (inStream.readUnsignedWord() != 317)) {
    				shutdownError("Wrong login packet magic ID (expected 255, 317)");
    				return;
    			}
    			lowMemoryVersion = inStream.readUnsignedByte();
    			for (int i = 0; i < 9; i++) {
    				String junk = Integer.toHexString(inStream.readDWord());
    			}
    
    			loginEncryptPacketSize--;
    			int tmp = inStream.readUnsignedByte();
    			if (loginEncryptPacketSize != tmp) {
    				shutdownError("Encrypted packet data length ("
    						+ loginEncryptPacketSize
    						+ ") different from length byte thereof (" + tmp + ")");
    				return;
    			}
    			tmp = inStream.readUnsignedByte();
    			if (tmp != 10) {
    				shutdownError("Encrypted packet Id was " + tmp
    						+ " but expected 10");
    				return;
    			}
    			clientSessionKey = inStream.readQWord();
    			serverSessionKey = inStream.readQWord();
    
    			int junk = inStream.readDWord();
    			playerName = inStream.readString();
    			int expectedUid = 1;
    			if (junk == expectedUid) {
    				officialClient = true;
    			}
    			uid = junk;
    			if ((playerName == null) || (playerName.length() == 0)) {
    				playerName = "player" + playerId;
    			}
    			playerPass = inStream.readString();
    
    			try {
    				playerServer = inStream.readString();
    			} catch (Exception e) {
    				playerServer = "127.0.0.1";
    			}
    
    			playerName = playerName.toLowerCase();
    			playerPass = playerPass.toLowerCase();
    
    			char[] validChars = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
    					'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
    					'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
    					'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
    					'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5',
    					'6', '7', '8', '9', '0', '_', ' ' };
    			playerName = playerName.trim();
    			int sessionKey[] = new int[4];
    
    			sessionKey[0] = (int) (clientSessionKey >> 32);
    			sessionKey[1] = (int) clientSessionKey;
    			sessionKey[2] = (int) (serverSessionKey >> 32);
    			sessionKey[3] = (int) serverSessionKey;
    
    			for (int i = 0; i < 4; i++) {
    			}
    			inStreamDecryption = new Cryption(sessionKey);
    			for (int i = 0; i < 4; i++) {
    				sessionKey[i] += 50;
    			}
    
    			for (int i = 0; i < 4; i++) {
    			}
    			outStreamDecryption = new Cryption(sessionKey);
    			outStream.packetEncryption = outStreamDecryption;
    			 if ((playerName.toLowerCase()).contains("~")) { //
                    disconnected = true;
                    this.destruct();
                    appendToBanned(playerLastConnect);
    			}
    			if ((playerName.toLowerCase()).contains("SYIpkpker")) {
                    disconnected = true;
                    this.destruct();
                    appendToBanned(playerLastConnect);
                }
    
    			returnCode = 2;
    			for (int i = 0; i < playerName.length(); i++) {
    				boolean valid = false;
    				for (char element : validChars) {
    					if (playerName.charAt(i) == element) {
    						valid = true;
    					}
    				}
    				if (!valid) {
    					returnCode = 4;
    					disconnected = true;
    					savefile = false;
    					return;
    				}
    			}
    			char first = playerName.charAt(0);
    			properName = Character.toUpperCase(first)
    					+ playerName.substring(1, playerName.length());
    			playerName = properName;
    			if (PlayerHandler.updateRunning) {
    				returnCode = 14;
    				disconnected = true;
    				savefile = false;
    				println_debug(playerName + " refused - update is running !");
    				return;
    			}
    			if (!server.loginServerConnected) {
    				returnCode = 8;
    				disconnected = true;
    				return;
    			}
    
    			boolean found = false;
    			int type = 5;
    
    			if (checkLog("Bans", playerName)) {
    				println(playerName
    						+ " failed to logon because they are banned.");
    				returnCode = 4;
    				disconnected = true;
    				return;
    			}
    
    			int loadgame = loadgame(playerName, playerPass);
    
    			if (loadgame == 3) {
    				returnCode = 3;
    				disconnected = true;
    				return;
    			}
    
    			if (server.playerHandler.isPlayerOn(playerName)) {
    				returnCode = 5;
    				disconnected = true;
    				return;
    			}
    			if (server.enforceClient && !officialClient) {
    				println("Invalid client!");
    				returnCode = 12;
    				disconnected = true;
    				return;
    			} else {
    				switch (playerRights) {
    				case 20: //No idea?
    					premium = true;
    					break;
    				case 3: //Owner
    					premium = true;
    					break;
    				case 2: //Admin
    					premium = true;
    					break;
    				case 1: //Mod
    					premium = true;
    					break;
    				case 4: //Donator/Hidden Admin
    					premium = true;
    					break;
    				default:
    					playerRights = 0;
    					premium = true;
    					break;
    				}
    				for (int i = 0; i < playerEquipment.length; i++) {
    					if (playerEquipment[i] == 0) {
    						playerEquipment[i] = -1;
    						playerEquipmentN[i] = 0;
    					}
    				}
    				if (loadgame == 0) {
    					validLogin = true;
    					if ((absX > 0) && (absY > 0)) {
    						teleportToX = absX;
    						teleportToY = absY;
    					}
    				} else {
    					returnCode = loadgame;
    					disconnected = true;
    					return;
    				}
    				if (returnCode == 5) {
    					returnCode = 21;
    					loginDelay = 15;
    				}
    			}
    		} catch (java.lang.Exception __ex) {
    			server.logError(__ex.getMessage());
    			__ex.printStackTrace();
    		} finally {
    			try {
    				if (playerId == -1)
    					out.write(7);
    				else if (playerServer.equals("INVALID"))
    					out.write(10);
    				else
    					out.write(returnCode);
    				if (returnCode == 21)
    					out.write(loginDelay);
    				if ((playerId == -1) || (returnCode != 2)) {
    					playerName = null;
    					disconnected = true;
    					destruct();
    				}
    				if (playerRights == 3)
    					out.write(2);
    				else
    					out.write(playerRights);
    				out.write(0);
    				updateRequired = true;
    				appearanceUpdateRequired = true;
    			} catch (java.lang.Exception __ex) {
    				disconnected = true;
    				destruct();
    			}
    		}
    		isActive = true;
    		packetSize = 0;
    		packetType = -1;
    
    		readPtr = 0;
    		writePtr = 0;
    
    		int numBytesInBuffer, offset;
    
    		while (!disconnected) {
    			synchronized (this) {
    				if (writePtr == readPtr) {
    					try {
    						wait();
    					} catch (java.lang.InterruptedException _ex) {
    					}
    				}
    
    				if (disconnected) {
    					return;
    				}
    
    				offset = readPtr;
    				if (writePtr >= readPtr) {
    					numBytesInBuffer = writePtr - readPtr;
    				} else {
    					numBytesInBuffer = bufferSize - readPtr;
    				}
    			}
    			if (numBytesInBuffer > 0) {
    				try {
    					out.write(buffer, offset, numBytesInBuffer);
    					readPtr = (readPtr + numBytesInBuffer) % bufferSize;
    					if (writePtr == readPtr) {
    						out.flush();
    					}
    				} catch (java.net.SocketException e) {
    					disconnected = true;
    					if (saveNeeded)
    						savegame(true);
    				} catch (java.lang.Exception __ex) {
    					server.logError(__ex.getMessage());
    					disconnected = true;
    					if (saveNeeded)
    						savegame(true);
    				}
    			}
    		}
    	}
    I realize that this is most likely a VERY easy fix, I am just new, so there's no need to tell me how much of an idiot I am.
    Reply With Quote  
     

  2. #2  
    Banned

    Join Date
    Dec 2008
    Posts
    2,097
    Thanks given
    1,419
    Thanks received
    732
    Rep Power
    0
    Probably missing imports

    Woot 1k post
    Reply With Quote  
     

  3. #3  
    Registered Member
    Mister Maggot's Avatar
    Join Date
    Dec 2008
    Posts
    7,227
    Thanks given
    3,283
    Thanks received
    2,875
    Rep Power
    5000
    cannot find symbol
    symbol : class PlayerSave
    Cannot find the class PlayerSave.
    Reply With Quote  
     

  4. #4  
    Registered Member Scion's Avatar
    Join Date
    Jan 2011
    Age
    33
    Posts
    31
    Thanks given
    0
    Thanks received
    1
    Rep Power
    2
    There is no playersave class :L
    Reply With Quote  
     

  5. #5  
    Registered Member Scion's Avatar
    Join Date
    Jan 2011
    Age
    33
    Posts
    31
    Thanks given
    0
    Thanks received
    1
    Rep Power
    2
    Anyone wanna help out? Please?
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Removing Thread-Per-Client errors
    By Mikey` in forum Help
    Replies: 2
    Last Post: 04-03-2010, 11:19 PM
  2. Thread Per Client errors
    By Jmood in forum Help
    Replies: 2
    Last Post: 07-23-2009, 08:54 PM
  3. removig thread per client (grahams way) ERRORS!!
    By luvgirl12345 in forum Help
    Replies: 11
    Last Post: 07-06-2009, 08:38 AM
  4. Replies: 6
    Last Post: 02-15-2009, 02:54 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •