[Source] | v97 | ZenthosDev

I got a crash at the login server after i press login :

Listening on IP: as.myftp.org Port: 8484.
Error initalizing the encryption cipher. Make sure you're using the Unlimited S
trength cryptography jar files.
Error initalizing the encryption cipher. Make sure you're using the Unlimited S
trength cryptography jar files.
Exception Caught: java.lang.IllegalStateException: Cipher not initialized (Hexdu
mp: 1B E8 19 E8 B1 CD)
 
I cant press next in any NPC. everytime i does that i gets a DC. and theres alot of NPCs that DCs you.

EDIT : wow, so many bugs..

1) Every time that someone attacks, all the others gets a DC.
2) Loot and Drops are extremly bugged.
3) Sometimes you just cant attack anymore.
4) TONS of NPCS gives a DC.
5) Some of the commands DCs.
6) no !job command.
7) Families are bugged.
8) Guides are bugged.
9) Monsters are bugged - you cant attack most of them..

And i didnt check more, damn you should work hard on that pack.
 
Last edited:
I cant press next in any NPC. everytime i does that i gets a DC. and theres alot of NPCs that DCs you.

EDIT : wow, so many bugs..

1) Every time that someone attacks, all the others gets a DC.
2) Loot and Drops are extremly bugged.
3) Sometimes you just cant attack anymore.
4) TONS of NPCS gives a DC.
5) Some of the commands DCs.
6) no !job command.
7) Families are bugged.
8) Guides are bugged.
9) Monsters are bugged - you cant attack most of them..

And i didnt check more, damn you should work hard on that pack.

What part of don't use the source until it's finished don't you understand?
 
Of course you update to v97 because there's a public v97 source that you can leech from. Smh, do v107 or something.
 
i d/c as soon as i put username and password and hit enter and i don't know why. No error or anything shows up. It just says "you have been disconnected from login server" anybody have an idea on how to fix this??
 
I think we should all emphasizing at what I'm trying to accomplish here instead of continuing these preposterous and ludicrous disputes.

That being said, I will begin coding the channel handlers soon but first I will have to fix the skill bug.
Please continue reporting bugs, if you happened to have fixed something post it here as well!
 
I think we should all emphasizing at what I'm trying to accomplish here instead of continuing these preposterous and ludicrous disputes.

That being said, I will begin coding the channel handlers soon but first I will have to fix the skill bug.
Please continue reporting bugs, if you happened to have fixed something post it here as well!

1. I can't emphasize at something.
2. There is one dispute.
3. It's not preposterous or ludicrous.
4. I'm assuming what you're trying to accomplish is a working v97 that is used more than broken Xeon?
 
I checked out your most recent "improvement" to the saving and loading system and I fail to see the huge gain. Especially since you STILL HAVE playerstorage, this isn't really optimizing anything much (if at all). I cleaned it up for you a little bit:

PHP:
package server;

import client.MapleCharacter;
import client.MapleClient;
import java.util.ArrayList;
import java.util.concurrent.ConcurrentHashMap;
import java.util.List;
import java.util.Map;

public class MaplePlayerArchive {
//remove PlayerStorage with this implementation
    public final static List<Integer> logOut = new ArrayList<Integer>(); //what populates this? I was confused at first...
    private static Map<Integer, MapleCharacter> playerList;
    private static MaplePlayerArchive instance = null;
    private static long lastSave;

    private MaplePlayerArchive() {
        playerList = new ConcurrentHashMap<Integer, MapleCharacter>();
        lastSave = System.currentTimeMillis();
    }

    public static MaplePlayerArchive getInstance() {
        if (instance == null) {
            instance = new MaplePlayerArchive();
        }
        if (System.currentTimeMillis() - lastSave > 60000 * 10 /* * 0 */) {
            lastSave = System.currentTimeMillis();
            masterSave();
        }
        return instance;
    }

    private static void removeCharacter(int id) {
        playerList.remove(id);
    }
	
	public void saveCharacter(MapleCharacter player) {
        playerList.put(player.getId(), player);
    }

	public MapleCharacter loadCharacter(MapleClient c, int id, boolean server) {
		MapleCharacter player = null;
		if ((player = playerList.get(id)) == null) {
			try {
				player = MapleCharacter.loadCharFromDB(id, c, server);
				playerList.put(id, player);
			} catch (SQLException e) {
				System.out.println("Character couldn't be loaded from MaplePlayerArchive: " + e);
			}
		}
		return player;
	}
	
    private static void masterSave() {
        if (!logOut.isEmpty() && !playerList.isEmpty()) {
            final List<Integer> saveList = new ArrayList<Integer>(logOut);
            logOut.clear();
            try {
				for (int cid : saveList) {
					if (playerList.containsKey(cid)) {
						MapleCharacter player = playerList.get(cid);
                        player.saveToDB(true, true);
                        player = null;
                        removeCharacter(cid);
                        System.out.println("SAVE:  " + cid);
                    }
                }
                saveList.clear();
            } catch (Exception e) {
				System.out.println("There's been a problem with the master save from MaplePlayerArchive: " + e);
            }
        }
    }
}

I believe the part where I commented out the 0 would have given you errors, unless it was intended to return > 0 in which case you could have just been straightfoward. No offense but I seriously expected more the way you talked it up. I mean, you are a one of the best scripters here, as they say.
 
Last edited:
Back