Hmmmm okay , since you from Singapore do u know a VPS/Dedicated Server cost?
This is a discussion on [Help] SXMaple for all within the Help forums, part of the Java Based (Odin) category; SP Problem : PHP Code: Yes , they mentioned that I have to replace the 1 in SXMaple with TetraSEA , but the problem is that I didn 't know where to get it from ? O.O I search TetraSEA with the word "SP" , but all the SP is the same as the 1 in SXMaple , so Im confused on where is the correct SP to use for SXMaple . Seal Animation : PHP Code: When zakum all that seal me , there will not have any animation above our head , ...
SP Problem :
Seal Animation :PHP Code:Yes , they mentioned that I have to replace the 1 in SXMaple with TetraSEA , but the problem is that I didn't know where to get it from ? O.O I search TetraSEA with the word "SP" , but all the SP is the same as the 1 in SXMaple , so Im confused on where is the correct SP to use for SXMaple .
PHP Code:When zakum all that seal me , there will not have any animation above our head , we won't know that we have been sealed until we are not able to attack . Anywhere to solve the animation thing ? O.O
The same goes to poison and etc .
Hmmmm okay , since you from Singapore do u know a VPS/Dedicated Server cost?
How much GB is the maximum
and i from Msia
do it can buy from IT shop?
Fine u guys dont understand, I shall tell u how to do :/
My sessionopened in MapleServerHandler
My getHelloPHP Code:@Override
public void sessionOpened(final IoSession session) throws Exception {
// Start of IP checking
final String address = session.getRemoteAddress().toString().split(":")[0];
if (BlockedIP.contains(address)) {
session.close(true);
return;
}
final Pair<Long, Byte> track = tracker.get(address);
byte count;
if (track == null) {
count = 1;
} else {
count = track.right;
final long difference = System.currentTimeMillis() - track.left;
if (difference < 2000) { // Less than 2 sec
count++;
} else if (difference > 20000) { // Over 20 sec
count = 1;
}
if (count >= 10) {
BlockedIP.add(address);
tracker.remove(address); // Cleanup
session.close(true);
return;
}
}
tracker.put(address, new Pair<Long, Byte>(System.currentTimeMillis(), count));
// End of IP checking.
String IP = address.substring(address.indexOf('/') + 1, address.length());
System.out.println("Session with " + IP + " opened.");
if (channel > -1) {
if (ChannelServer.getInstance(channel).isShutdown()) {
session.close(true);
return;
}
} else if (cs) {
if (CashShopServer.isShutdown()) {
session.close(true);
return;
}
} else {
if (LoginServer.isShutdown()) {
session.close(true);
return;
}
}
final byte serverRecv[] = new byte[]{(byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255)};
final byte serverSend[] = new byte[]{(byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255)};
final byte ivRecv[] = serverRecv;
final byte ivSend[] = serverSend;
final boolean fixed = (ServerConstants.isHost(address));
final MapleClient client = new MapleClient(
new MapleAESOFB(ivSend, (short) (0xFFFF - ServerConstants.MAPLE_VERSION)), // Sent Cypher
new MapleAESOFB(ivRecv, ServerConstants.MAPLE_VERSION), // Recv Cypher
session);
client.setChannel(channel);
MaplePacketDecoder.DecoderState decoderState = new MaplePacketDecoder.DecoderState();
session.setAttribute(MaplePacketDecoder.DECODER_STATE_KEY, decoderState);
session.write(LoginPacket.getHello(ServerConstants.MAPLE_VERSION, serverSend, serverRecv, fixed, client));
//System.out.println("GETHELLO SENT TO " + address + "; fixed = " + fixed);
session.setAttribute(MapleClient.CLIENT_KEY, client);
RecvPacketOpcode.reloadValues();
SendPacketOpcode.reloadValues();
}
In serverconstants addPHP Code:public static byte[] getHello(final short mapleVersion, final byte[] sendIv, final byte[] recvIv, boolean fixed, final MapleClient c) {
final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(15 + ServerConstants.MAPLE_PATCH.length());
mplew.writeShort(13 + ServerConstants.MAPLE_PATCH.length()); // length of the packet
mplew.writeShort(mapleVersion);
mplew.writeMapleAsciiString(ServerConstants.MAPLE_PATCH);
mplew.write(recvIv);
mplew.write(sendIv);
mplew.write(fixed ? 7 : 5); // 7 = MSEA, 8 = GlobalMS, 5 = Test Server
return mplew.getPacket();
}
andPHP Code:public static String Host_IP = "203.188.239.82";
Look at attachmentPHP Code:public static boolean isHost(final String sessionIP){
return (sessionIP.contains(Host_IP));
}
YOU CAN CONNECT USING HOST
when reach the ServerConstants I dont know how do d ><
where to add this >>>PHP Code:public static String Host_IP = "203.188.239.82";
And this also , where to add it ><Code:static { localhostIP.add("203.116.196.8"); localhostIP.add("my wan IP"); // localhostIP.add("8.31.98.52"); // localhostIP.add("8.31.98.53"); // localhostIP.add("8.31.98.54");
PHP Code:public static boolean isHost(final String sessionIP){
return (sessionIP.contains(Host_IP));
}
Last edited by iPastel; 18-05-12 at 03:08 PM.
"Yew Lee: I mean, i need to open into the source and see if it reach my need or not.
To see it is complete or not before I can buy your source" <-- this fella is such a dumbass source scammer.
Never tried. But what he posted is almost the same as i posted. What he did is add a checks in mapleserverhandle
if host ip then gethello = 7, if not gethello = 5.
Something like this.
mplew.write(c.isLocalhost() ? 7 : 5); // 7 = MSEA, 8 = GlobalMS, 5 = Test Server
public boolean isLocalhost() {
return ServerConstants.isIPLocalhost(getSessionIPAddress());
}
Just copy from TetraSEA, they already did all the checks for it.
"Yew Lee: I mean, i need to open into the source and see if it reach my need or not.
To see it is complete or not before I can buy your source" <-- this fella is such a dumbass source scammer.
Code of items can be found here easily :)
BannedStory 4 | MapleSimulator
May I know if Host_IP need to change it to my IP ?