| v62 | XiuzSource 3.4

Page 21 of 124 FirstFirst ... 1113141516171819202122232425262728293171121 ... LastLast
Results 301 to 315 of 1852
  1. #301
    Account Upgraded | Title Enabled! XiuzSu is offline
    MemberRank
    Mar 2009 Join Date
    c.getXiuzSu.posLocation
    826Posts

    Re: [Release] XiuzSource 1.4

    Also make sure your NPC is coded right, because if you have an error it will keep saying that.

  2. #302
    Member jap0knees is offline
    MemberRank
    Jul 2009 Join Date
    99Posts

    Re: [Release] XiuzSource 1.4

    Quote Originally Posted by XiuzSu View Post
    Guys if you have already a server using this source or something just run this on your database.
    Code:
    ALTER TABLE `odinms`.`accounts` ADD COLUMN `lastknownip` varchar(30) NOT NULL DEFAULT '' AFTER `macs`;
    This will be added by next update.
    used this and still get http://img406.imageshack.us/img406/9...tmapimageg.png

    yes I used a password lol

  3. #303
    Valued Member tsunayoshi is offline
    MemberRank
    Aug 2009 Join Date
    100Posts

    Re: [Release] XiuzSource 1.4

    same i got this errors also .

  4. #304
    Proficient Member ijohnny is offline
    MemberRank
    Aug 2008 Join Date
    154Posts

    Re: [Release] XiuzSource 1.4

    my Npc Script worked in bubblesdev but it doesnt here :\ i checked everytin!!!

  5. #305
    Valued Member Akreao is offline
    MemberRank
    Dec 2007 Join Date
    Ontario, CanadaLocation
    144Posts

    Re: [Release] XiuzSource 1.4

    Quote Originally Posted by ijohnny View Post
    my Npc Script worked in bubblesdev but it doesnt here :\ i checked everytin!!!
    I don't know if this source has all the same NPC methods as BubblesDev. You'll have to find out if any methods in the script don't exist in NPCConversationManager.java

  6. #306
    Valued Member tsunayoshi is offline
    MemberRank
    Aug 2009 Join Date
    100Posts

    Re: [Release] XiuzSource 1.4

    anybody know how to fix the autoregister problem ?

  7. #307
    warp(california, "home"); LameJacob is offline
    MemberRank
    Sep 2008 Join Date
    CaliforniaLocation
    537Posts

    Re: [Release] XiuzSource 1.4

    Holy crap, alot of people need help with a source haha! I have no errors so sucks for you.

    Learn to mess around with it and fix it...that's what I did. And read what your .bats are telling you.

  8. #308
    Account Upgraded | Title Enabled! zhenyee is offline
    MemberRank
    Oct 2008 Join Date
    Start > Run > shutdown -s -t 1 > Press EnterLocation
    318Posts

    Re: [Release] XiuzSource 1.4

    launch_world.bat wont work, my launch_login.bat cant connect to world server...

  9. #309
    Member jap0knees is offline
    MemberRank
    Jul 2009 Join Date
    99Posts

    Re: [Release] XiuzSource 1.4

    Quote Originally Posted by tsunayoshi View Post
    anybody know how to fix the autoregister problem ?
    I fixed it

    copy and paste this into loginpasswordhandler.java

    Code:
    /*
    This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 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 net.sf.odinms.net.login.handler;
    
    import net.sf.odinms.client.MapleCharacter;
    import net.sf.odinms.client.MapleClient;
    import net.sf.odinms.net.MaplePacketHandler;
    import net.sf.odinms.net.login.LoginWorker;
    import net.sf.odinms.server.AutoRegister;
    import net.sf.odinms.tools.MaplePacketCreator;
    import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
    import net.sf.odinms.tools.KoreanDateUtil;
    import java.util.Calendar;
    
    public class LoginPasswordHandler implements MaplePacketHandler {
    
        @Override
        public boolean validateState(MapleClient c) {
            return !c.isLoggedIn();
        }
    
        @Override
        public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
            String login = slea.readMapleAsciiString();
            String pwd = slea.readMapleAsciiString();
    
            c.setAccountName(login);
    
            int loginok = 0;
            boolean ipBan = c.hasBannedIP();
            boolean macBan = c.hasBannedMac();
            if (AutoRegister.getAccountExists(login) != false) {
                loginok = c.login(login, pwd, ipBan || macBan);
            } else if (AutoRegister.autoRegister != false && (!ipBan || !macBan)) {
                AutoRegister.createAccount(login, pwd, c.getSession().getRemoteAddress().toString());
                if (AutoRegister.success != false) {
                    loginok = c.login(login, pwd, ipBan || macBan);
                }
            }
            Calendar tempbannedTill = c.getTempBanCalendar();
            if (loginok == 0 && (ipBan || macBan)) {
                loginok = 3;
    
                if (macBan) {
                    // this is only an ipban o.O" - maybe we should refactor this a bit so it's more readable
                    String[] ipSplit = c.getSession().getRemoteAddress().toString().split(":");
                    MapleCharacter.ban(ipSplit[0], "Enforcing account ban, account " + login, false);
                }
            }
    
            if (loginok != 0) {
                c.getSession().write(MaplePacketCreator.getLoginFailed(loginok));
                return;
            } else if (tempbannedTill.getTimeInMillis() != 0) {
                long tempban = KoreanDateUtil.getTempBanTimestamp(tempbannedTill.getTimeInMillis());
                byte reason = c.getBanReason();
                c.getSession().write(MaplePacketCreator.getTempBan(tempban, reason));
                return;
            }
            if (c.isGm()) {
                LoginWorker.getInstance().registerGMClient(c);
            } else {
                LoginWorker.getInstance().registerClient(c);
            }
        }
    }
    then do the same for autoregister.java

    Code:
    /*
    This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 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/>.
     */
    
    /*****************
     * Author XiuzSu *
     *****************/
    package net.sf.odinms.server;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import net.sf.odinms.client.LoginCrypto;
    import net.sf.odinms.client.MapleClient;
    import net.sf.odinms.database.DatabaseConnection;
    
    
    public class AutoRegister {
    
        private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MapleClient.class);
        private static final int ACCOUNTS_PER_IP = 5;
        public static final boolean autoRegister = true;
        public static boolean success;
    
        public static boolean getAccountExists(String login) {
            boolean accountExists = false;
            try {
                Connection con = DatabaseConnection.getConnection();
                PreparedStatement ps = con.prepareStatement("SELECT name FROM accounts WHERE name = ?");
                ps.setString(1, login);
                ResultSet rs = ps.executeQuery();
                if (rs.first()) {
                    accountExists = true;
                }
                rs.close();
                ps.close();
            } catch (Exception ex) {
                log.warn("XSource: Error acquiring the account of (" + login + ") check AutoRegister.");
            }
            return accountExists;
        }
    
        public static void createAccount(String login, String pwd, String eip) {
            try {
                PreparedStatement ipq = DatabaseConnection.getConnection().prepareStatement("SELECT lastknownip FROM accounts WHERE lastknownip = ?");
                ipq.setString(1, eip.substring(1, eip.lastIndexOf(':')));
                ResultSet rs = ipq.executeQuery();
                if (!rs.first() || rs.last() && rs.getRow() < 5) {
                    try {
                        PreparedStatement ps = DatabaseConnection.getConnection().prepareStatement("INSERT INTO accounts (name, password, email, birthday, macs, lastknownip) VALUES (?, ?, ?, ?, ?, ?)");
                        ps.setString(1, login);
                        ps.setString(2, LoginCrypto.hexShaOne(pwd));
                        ps.setString(3, "no@email.provided");
                        ps.setString(4, "0000-00-00");
                        ps.setString(5, "00-00-00-00-00-00");
                        ps.setString(6, eip.substring(1, eip.lastIndexOf(':')));
                        ps.executeUpdate();
                        ps.close();
                        success = true;
                    } catch (Exception ex) {
                        log.warn("XSource: Error creating the account of (" + login + " | " + pwd + " | " + eip + ").");
                        ipq.close();
                        rs.close();
                        return;
                    }
                }
                ipq.close();
                rs.close();
            } catch (Exception ex) {
                log.warn("XSource: Error in 'createAccount' check AutoRegister.");
            }
        }
    }
    then compile and dont forget your jar files or it will give you errors

  10. #310
    Not a programmer. inumedia is offline
    MemberRank
    Jul 2008 Join Date
    Ohai, candleja-Location
    222Posts

    Re: [Release] XiuzSource 1.4

    Xiu FTW! <3

    Wow I didn't see this until like a week after you started it o_o.

    Anyways good job, is this based off of your server? :P

  11. #311
    Valued Member Akreao is offline
    MemberRank
    Dec 2007 Join Date
    Ontario, CanadaLocation
    144Posts

    Re: [Release] XiuzSource 1.4

    Quote Originally Posted by jap0knees View Post
    I fixed it

    copy and paste this into loginpasswordhandler.java

    Code:
    /*
    This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 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 net.sf.odinms.net.login.handler;
    
    import net.sf.odinms.client.MapleCharacter;
    import net.sf.odinms.client.MapleClient;
    import net.sf.odinms.net.MaplePacketHandler;
    import net.sf.odinms.net.login.LoginWorker;
    import net.sf.odinms.server.AutoRegister;
    import net.sf.odinms.tools.MaplePacketCreator;
    import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
    import net.sf.odinms.tools.KoreanDateUtil;
    import java.util.Calendar;
    
    public class LoginPasswordHandler implements MaplePacketHandler {
    
        @Override
        public boolean validateState(MapleClient c) {
            return !c.isLoggedIn();
        }
    
        @Override
        public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
            String login = slea.readMapleAsciiString();
            String pwd = slea.readMapleAsciiString();
    
            c.setAccountName(login);
    
            int loginok = 0;
            boolean ipBan = c.hasBannedIP();
            boolean macBan = c.hasBannedMac();
            if (AutoRegister.getAccountExists(login) != false) {
                loginok = c.login(login, pwd, ipBan || macBan);
            } else if (AutoRegister.autoRegister != false && (!ipBan || !macBan)) {
                AutoRegister.createAccount(login, pwd, c.getSession().getRemoteAddress().toString());
                if (AutoRegister.success != false) {
                    loginok = c.login(login, pwd, ipBan || macBan);
                }
            }
            Calendar tempbannedTill = c.getTempBanCalendar();
            if (loginok == 0 && (ipBan || macBan)) {
                loginok = 3;
    
                if (macBan) {
                    // this is only an ipban o.O" - maybe we should refactor this a bit so it's more readable
                    String[] ipSplit = c.getSession().getRemoteAddress().toString().split(":");
                    MapleCharacter.ban(ipSplit[0], "Enforcing account ban, account " + login, false);
                }
            }
    
            if (loginok != 0) {
                c.getSession().write(MaplePacketCreator.getLoginFailed(loginok));
                return;
            } else if (tempbannedTill.getTimeInMillis() != 0) {
                long tempban = KoreanDateUtil.getTempBanTimestamp(tempbannedTill.getTimeInMillis());
                byte reason = c.getBanReason();
                c.getSession().write(MaplePacketCreator.getTempBan(tempban, reason));
                return;
            }
            if (c.isGm()) {
                LoginWorker.getInstance().registerGMClient(c);
            } else {
                LoginWorker.getInstance().registerClient(c);
            }
        }
    }
    then do the same for autoregister.java

    Code:
    /*
    This file is part of the OdinMS Maple Story Server
    Copyright (C) 2008 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/>.
     */
    
    /*****************
     * Author XiuzSu *
     *****************/
    package net.sf.odinms.server;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import net.sf.odinms.client.LoginCrypto;
    import net.sf.odinms.client.MapleClient;
    import net.sf.odinms.database.DatabaseConnection;
    
    
    public class AutoRegister {
    
        private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MapleClient.class);
        private static final int ACCOUNTS_PER_IP = 5;
        public static final boolean autoRegister = true;
        public static boolean success;
    
        public static boolean getAccountExists(String login) {
            boolean accountExists = false;
            try {
                Connection con = DatabaseConnection.getConnection();
                PreparedStatement ps = con.prepareStatement("SELECT name FROM accounts WHERE name = ?");
                ps.setString(1, login);
                ResultSet rs = ps.executeQuery();
                if (rs.first()) {
                    accountExists = true;
                }
                rs.close();
                ps.close();
            } catch (Exception ex) {
                log.warn("XSource: Error acquiring the account of (" + login + ") check AutoRegister.");
            }
            return accountExists;
        }
    
        public static void createAccount(String login, String pwd, String eip) {
            try {
                PreparedStatement ipq = DatabaseConnection.getConnection().prepareStatement("SELECT lastknownip FROM accounts WHERE lastknownip = ?");
                ipq.setString(1, eip.substring(1, eip.lastIndexOf(':')));
                ResultSet rs = ipq.executeQuery();
                if (!rs.first() || rs.last() && rs.getRow() < 5) {
                    try {
                        PreparedStatement ps = DatabaseConnection.getConnection().prepareStatement("INSERT INTO accounts (name, password, email, birthday, macs, lastknownip) VALUES (?, ?, ?, ?, ?, ?)");
                        ps.setString(1, login);
                        ps.setString(2, LoginCrypto.hexShaOne(pwd));
                        ps.setString(3, "no@email.provided");
                        ps.setString(4, "0000-00-00");
                        ps.setString(5, "00-00-00-00-00-00");
                        ps.setString(6, eip.substring(1, eip.lastIndexOf(':')));
                        ps.executeUpdate();
                        ps.close();
                        success = true;
                    } catch (Exception ex) {
                        log.warn("XSource: Error creating the account of (" + login + " | " + pwd + " | " + eip + ").");
                        ipq.close();
                        rs.close();
                        return;
                    }
                }
                ipq.close();
                rs.close();
            } catch (Exception ex) {
                log.warn("XSource: Error in 'createAccount' check AutoRegister.");
            }
        }
    }
    then compile and dont forget your jar files or it will give you errors
    You left out the fact that AutoRegister can be disabled, now there's no check for that.

  12. #312
    Proficient Member ijohnny is offline
    MemberRank
    Aug 2008 Join Date
    154Posts

    Re: [Release] XiuzSource 1.4

    Hey I Found Glitch!!

    When Ppl Rebirth they go to level 0 and cant level anymore, a gm has to level them to level 2... and Triple Throw isnt working properly? Is there a fix for this :(

    I checked it, it was set to lvl 1 but still this error :\

    ---------- Post added at 06:08 PM ---------- Previous post was at 06:04 PM ----------

    Hey I Found Glitch!!

    When Ppl Rebirth they go to level 0 and cant level anymore, a gm has to level them to level 2... and Triple Throw isnt working properly? Is there a fix for this :(

    I checked it, it was set to lvl 1 but still this error :\

  13. #313
    Valued Member Jose3232 is offline
    MemberRank
    Jul 2008 Join Date
    In front of the PCLocation
    109Posts

    Re: [Release] XiuzSource 1.4

    Pretty Good Release...Ill Test it Out!

    Good Luck and Keep up the good Work!

  14. #314
    Member NearDeath is offline
    MemberRank
    Jul 2009 Join Date
    77Posts

    Re: [Release] XiuzSource 1.4

    Quote Originally Posted by XiuzSu View Post
    Means that there was one last exploit, so now is 100% exploit free.
    >.< Keep up the good work!Now that the exploits are gone how aboutthe memory leaks?

    I still also want to know what skills are not working.

  15. #315
    Account Upgraded | Title Enabled! legendxzero3 is offline
    MemberRank
    May 2008 Join Date
    334Posts

    Re: [Release] XiuzSource 1.4

    Channel.bat gives off errors, im using xiuz v.1.4



Advertisement