MoopleDEV FAQ | Bugs/Errors

Joined
Jun 30, 2008
Messages
3,451
Reaction score
1,619
Dear MoopleDEV users!

My thread is getting spammed with bugs and with people that need help with something. In order to prevent that I will set up this FAQ.

More rules will come later and Questions/Answers will be added later.

Let's start of with a few rules:
  • Only report bugs when you are sure it is caused by 'me', if you caused it yourself, don't ask for help in here.
  • Don't ask how to add custom stuff. Only if you have some problems with non-RMI.
  • You can report bugs in this thread OR in the release thread.
  • Read the FAQ first, before posting an error.

I have to build to FAQ, so just report bugs/errors, I will try to fix all of them and I will most likely create links in this post to the fix.

Thanks for using my source and for all the support!
 
Big bug here. Trying to run on a Linux and I DID set everything up correctly. Upon typing "sudo sh create_server_linux.sh" into the command line to create the launch_server.sh file, I get this error. I believe there is a problem with your .sh files.

Code:
    leonardo@ubuntu:~/Desktop/Project83$ sudo sh create_server_linux.sh
    : not founder_linux.sh: 2:
    : not founder_linux.sh: 4:
    create_server_linux.sh: 5: -Djavax.net.ssl.keyStore=filename.keystore: not found
    create_server_linux.sh: 6: -Djavax.net.ssl.keyStorePassword=passwd: not found
    create_server_linux.sh: 7: -Djavax.net.ssl.trustStore=filename.keystore: not found
    create_server_linux.sh: 8: -Djavax.net.ssl.trustStorePassword=passwd: not found
    Exception in thread "main" java.lang.NoClassDefFoundError:
    Caused by: java.lang.ClassNotFoundException:
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    : not founder_linux.sh: 10: net.server.CreateINI
    leonardo@ubuntu:~/Desktop/Project83$

 
Last edited:
Upvote 0
JESTERS doesnt drop mesos..... sometime monsters doesnt give EXP for some reason... globaldrop isnt working and drop doesnt update (it not droping what i added)!
 
Upvote 0
Is the Java Heap Size set at launch_server.java the heapsize for the channelservers? or is World, Channel, and Login the same handles for MoopleDev? What should I set it at? Does it really matter if I set it to Xmx100m or Xmx1000m? What difference does it make?
 
Upvote 0
When i drop something , Everyone who want to take it Have to wait before they can take it.
its the same when someone drop a Potion or EQUIP i cant take it cuz i have to wait after i waited i can take it..

Help?
 
Upvote 0
When i drop something , Everyone who want to take it Have to wait before they can take it.
its the same when someone drop a Potion or EQUIP i cant take it cuz i have to wait after i waited i can take it..

Help?
This bug will be fixed next revision.

@Rickpwns,
Be sure you are the right gm level

@F4keName,
Google

@ariel,
Look how it is done with other monsters.
 
Upvote 0
@kevintjuh93

Can't u give a Hint or a tip or something that it could be the reason for this?
Cuz my server is stable now. and i really need to fix this.
 
Upvote 0
I put GM level 5,

Most of the portals don't work either, like the portal to Athene Pierce (Bowman Job advancement)
Quests don't work.

Bug, or is it something with me?
Tell me the not working commands.
And yeah, some quests/portals aren't coded yet.


@yorsforever,
Let me get my source files on my computer, I will post it afterwards.
 
Upvote 0
Hey Kevin,

I'm trying to implement !warphere, and !warp, but I need to know how to get ChannelInstance, and etc.

Here's the original code from another source (Yes, I leech ;\)

PHP:
                    } else if (sub[0].equals("warp")) {
            MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(sub[1]);
            if (victim != null) {
                if (sub.length == 2) {
                    MapleMap target = victim.getMap();
                    player.changeMap(target, target.findClosestSpawnpoint(victim.getPosition()));
                } else {
                    MapleMap target = cserv.getInstance(c.getChannel()).getMapFactory().getMap(Integer.parseInt(sub[2]));
                    victim.changeMap(target, target.getPortal(0));
                }
            } else {
                try {
                    victim = player;
                    WorldLocation loc = cserv.getWorldInterface().getLocation(sub[1]);
                    if (loc != null) {
                        player.msg("You will be cross-channel warped. This may take a few seconds.");
                        MapleMap target = cserv.getMapFactory().getMap(loc.map);
                        victim.cancelAllBuffs();
                        String ip = cserv.getIP(loc.channel);
                        victim.getMap().removePlayer(victim);
                        victim.setMap(target);
                        String[] socket = ip.split(":");
                        if (victim.getTrade() != null) {
                            MapleTrade.cancelTrade(player);
                        }
                        victim.saveToDB(true, true);
                        Channel.getInstance(c.getChannel()).removePlayer(player);
                        c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
                        try {
                            c.getSession().write(MaplePacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
                        } catch (Exception e) {
                            throw new RuntimeException(e);
                        }
                    } else {
                        MapleMap target = cserv.getMapFactory().getMap(Integer.parseInt(sub[1]));
                        player.changeMap(target, target.getPortal(0));
                    }
                } catch (Exception e) {
                }
            }
        } else if (sub.equals("warphere")) {
            MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(sub[1]);
            MapleMap pmap = player.getMap();
            if (victim != null) {
                victim.changeMap(pmap, player.getPosition());
            } else {
                try {
                    String name = sub[1];
                    WorldChannelInterface wci = cserv.getWorldInterface();
                    int channel = wci.find(name);
                    if (channel > -1) {
                        Channel pserv = Channel.getInstance(channel);
                        MapleCharacter world_victim = pserv.getPlayerStorage().getCharacterByName(name);
                        if (world_victim != null) {
                            ChangeChannelHandler.changeChannel(c.getChannel(), world_victim.getClient());
                            world_victim.changeMap(pmap, player.getPosition());
                        }
                    } else {
                        player.msg("Player not online.");
                    }
                } catch (RemoteException e) {
                    cserv.reconnectWorld();
                }
            }

Few problems are, that there's no WorldLocation (import net.world.remote.WorldLocation;)

or a

(import net.world.remote.WorldChannelInterface;)

Which leads me to not being able to finish the code.

The Channel.getInstance() and ChangeChannelHandler() I need to fix.

Well, if you could pour your insight on this, and maybe help a fellow out, it'd be greatly appreciated.

Although I don't like being spoonfed, do try to 'teach'.

THANKS IN ADVANCE! :)

EDIT: After reading most of the posts.. I'd like to say..

This Source Code works pretty well for me, I haven't had many problems. Here's some advice though, if you open NetBeans IDE 7.0 with the same dist files the server uses, the server will have issues receiving commands like portals, chat commands, portals, and npc's etc.

Next thing, if anyone gets that stupid Cipher error, close everything related to the server, restart NetBeans, and Clean + Compile.

As for the Job Advancer, you'll need to code your own. As you can see, Cody doesn't work, cause he's part of the WZ.

Uhm, I think that's all I've got to say [:
 
Last edited:
Upvote 0
Back