Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Help]Cash Shop problem V114

Newbie Spellweaver
Joined
Jul 23, 2010
Messages
29
Reaction score
1
I am currently having a problem with the cash shop... As soon as I enter it, it disconnects me and gives me an error code 38. I am using Xephyr V114.

Any ideas?

bump.
 
Skilled Illusionist
Joined
Aug 1, 2012
Messages
305
Reaction score
34
Fix yourself don't be lazy . Learn how to sniff opcodes , packets or w/e
 
Upvote 0
Junior Spellweaver
Joined
May 30, 2012
Messages
101
Reaction score
4
Replace your Cashshopserver.java
With

PHP:
/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 ~ 2010 Patrick Huy <patrick.huy@frz.cc> 
Matthias Butz <matze@odinms.de>
Jan Christian Meyer <vimes@odinms.de>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation. You may not use, modify
or distribute this program under any other version of the
GNU Affero General Public License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package handling.cashshop;

import java.net.InetSocketAddress;

import handling.MapleServerHandler;
import handling.channel.PlayerStorage;
import handling.mina.MapleCodecFactory;
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.SimpleByteBufferAllocator;
import org.apache.mina.common.IoAcceptor;

import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.transport.socket.nio.SocketAcceptorConfig;
import org.apache.mina.transport.socket.nio.SocketAcceptor;
import server.MTSStorage;
import server.ServerProperties;

public class CashShopServer {

    private static String ip;
    private static InetSocketAddress InetSocketadd;
    private final static int PORT = 8600;
    private static IoAcceptor acceptor;
    private static PlayerStorage players, playersMTS;
    private static boolean finishedShutdown = false;

    public static final void run_startup_configurations() {
        ip = ServerProperties.getProperty("net.sf.odinms.world.host") + ":" + PORT;

        ByteBuffer.setUseDirectBuffers(false);
        ByteBuffer.setAllocator(new SimpleByteBufferAllocator());

        acceptor = new SocketAcceptor();
        final SocketAcceptorConfig cfg = new SocketAcceptorConfig();
        cfg.getSessionConfig().setTcpNoDelay(true);
        cfg.setDisconnectOnUnbind(true);
        cfg.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MapleCodecFactory()));
        players = new PlayerStorage(-10);
        playersMTS = new PlayerStorage(-20);

        try {
            InetSocketadd = new InetSocketAddress(PORT);
            acceptor.bind(InetSocketadd, new MapleServerHandler(-1, true), cfg);
            System.out.println("Listening on port " + PORT + ".");
        } catch (final Exception e) {
            System.err.println("Binding to port " + PORT + " failed");
            e.printStackTrace();
            throw new RuntimeException("Binding failed.", e);
        }
    }

    public static final String getIP() {
        return ip;
    }

    public static final PlayerStorage getPlayerStorage() {
        return players;
    }

    public static final PlayerStorage getPlayerStorageMTS() {
        return playersMTS;
    }

    public static final void shutdown() {
        if (finishedShutdown) {
            return;
        }
        System.out.println("Saving all connected clients (CS)...");
        players.disconnectAll();
    playersMTS.disconnectAll();
        MTSStorage.getInstance().saveBuyNow(true);
        System.out.println("Shutting down CS...");
    acceptor.unbindAll();
        finishedShutdown = true;
    }

    public static boolean isShutdown() {
    return finishedShutdown;
    }
}

Credits go to standeman
 
Upvote 0
Newbie Spellweaver
Joined
Jul 23, 2010
Messages
29
Reaction score
1
Replaced the whole CashShopServer.java with that and then I cleaned and built the project, replaced my old jar, and it's still getting the error 38 as soon as I enter the cash shop.

I'm going to assume it's a packet/opcode problem...

/giving a shot at doing it myself, I'll get back to here if I don't happen to figure it out.

Thanks everyone for atleast trying to help.
 
Upvote 0
Junior Spellweaver
Joined
May 30, 2012
Messages
101
Reaction score
4
Replaced the whole CashShopServer.java with that and then I cleaned and built the project, replaced my old jar, and it's still getting the error 38 as soon as I enter the cash shop.

I'm going to assume it's a packet/opcode problem...

/giving a shot at doing it myself, I'll get back to here if I don't happen to figure it out.

Thanks everyone for atleast trying to help.

Well I'm using the same source as you i did this my Cash Shop is completly fine make sure you have port 8600 forwarded
 
Upvote 0
Newbie Spellweaver
Joined
Jul 23, 2010
Messages
29
Reaction score
1
kk and btw this is the error i get, hopefully this helps.

------------------------ 2012-08-20 22:50:17 ------------------------
Error Type: 38
Data Length: 8
Error for player ; client.MapleCharacter@133a763 - account ; bbgiantz
CS_OPERATIONOpcode: 570
7F 00
 
Upvote 0
Back
Top