קהילות פורומים, הורדות, יעוץ ותמיכה


אשכולות דומים

  1. [שאלה] Auto Register V75
    על ידי NosTalgiA1 בפורום שרתים פרטיים MapleStory
    תגובות: 8
    הודעה אחרונה: 01-04-2010, 21:49
  2. [בקשה] מערכת auto register לv75
    על ידי xMusic בפורום שרתים פרטיים MapleStory
    תגובות: 5
    הודעה אחרונה: 19-03-2010, 12:39
  3. מדריך טוב או הסבר על איך עושים AUTO REGISTER V62 מי שעוזר מקבל GM בשרת
    על ידי QuantiumMS בפורום שרתים פרטיים MapleStory
    תגובות: 4
    הודעה אחרונה: 26-12-2009, 20:02
  4. עזרה| הרשמה אוטומטית - Auto Register
    על ידי tomer6450 בפורום שרתים פרטיים MapleStory
    תגובות: 15
    הודעה אחרונה: 09-12-2009, 19:28
  5. פ"ש| GalaxyStory | High rates _ auto register | alot more
    על ידי felixxex בפורום שרתים פרטיים MapleStory
    תגובות: 0
    הודעה אחרונה: 15-07-2009, 16:47
+ תגובה לנושא
מציג תוצאות 1 עד 4 מתוך 4

[שחרור] Auto Register

  1. #1
    משתמש משקיע
    שם פרטי
    ספיר
    תאריך הצטרפות
    09/2007
    הודעות
    3,504
    לייקים
    0
    נקודות
    0
    משפט מחץ
    Beauty From Far And Far From Beauty
    מין: נקבה

    ברירת מחדל [שחרור] Auto Register

    טוב אז קודם כל..אם אתם לא יודעים לקמפל..זה לא יעבוד לכם..פשוט קחו ריפאק עם הרשמה אוטומטית..
    אם אתם לא יודעים לערוך את הקיבצי JAVA כמו שצריך..בבקשה אל תעשו דברים שאתם לא יודעים לתקן..

    קרדיט ענק לAirflow0

    אז נתחיל..
    SQL:
    קוד:
    ALTER TABLE `accounts` ADD COLUMN `lastknownip` VARCHAR(30) NOT NULL DEFAULT '' AFTER `macs`;
    בLoginCrypto.java תשנו את השורה הזאת:
    קוד:
    private static String hexSha1(String in) {
    לזה:
    קוד:
    public static String hexSha1(String in) {
    ב LoginPasswordHandler.java תוסיפו:
    קוד:
    import net.sf.odinms.client.AutoRegister;
    ותחליפו את זה:
    קוד:
    loginok = c.login(login, pwd, ipBan || macBan);
    בזה:
    קוד:
     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);
                            }
                    }
    בMapleClient.java תמחקו את כל ההגדרה של public int login(את כולה) ותחליפו בזה..:
    קוד:
    public int login(String login, String pwd, boolean ipMacBanned) {
                    int loginok = 5;
    		Connection con = DatabaseConnection.getConnection();
    		try {
    			PreparedStatement ps = con
    				.prepareStatement("SELECT id,password,salt,tempban,banned,gm,macs,lastknownip,greason FROM accounts WHERE name = ?");
    			ps.setString(1, login);
    			ResultSet rs = ps.executeQuery();
    			if (rs.next()) {
    				int banned = rs.getInt("banned");
    				accId = rs.getInt("id");
    				int igm = rs.getInt("gm");
    				String passhash = rs.getString("password");
    				String salt = rs.getString("salt");
    				gm = igm > 0;
    				greason = rs.getByte("greason");
    				tempban = getTempBanCalendar(rs);
    				if ((banned == 0 && !ipMacBanned) || banned == -1) {
    					PreparedStatement ips = con.prepareStatement("INSERT INTO iplog (accountid, ip) VALUES (?, ?)");
    					ips.setInt(1, accId);
    					ips.setString(2, session.getRemoteAddress().toString());
    					ips.executeUpdate();
    					ips.close();
    				}
    
                                    //update the lastknownip for the player on a successful login if the ip changes
                                    if (!rs.getString("lastknownip").equals(session.getRemoteAddress().toString())) {
                                            PreparedStatement lkip = con.prepareStatement("UPDATE accounts SET lastknownip = ? where id = ?");
                                            String sockAddr = session.getRemoteAddress().toString();
    					lkip.setString(1, sockAddr.substring(1, sockAddr.lastIndexOf(':')));
                                            lkip.setInt(2, accId);
                                            lkip.executeUpdate();
                                            lkip.close();
                                    }
    
    				// do NOT track ALL mac addresses ever used
    				/*String[] macData = rs.getString("macs").split(", ");
    				for (String mac : macData) {
    					if (!mac.equals(""))
    						macs.add(mac);
    				}*/
    				ps.close();
    				// if (gm > 0) {
    				// session.write(MaplePacketCreator.getAuthSuccessRequestPin(getAccountName()));
    				// return finishLogin(true);
    				// }
    				if (banned == 1) {
    					loginok = 3;
    				} else {
    					// this is to simplify unbanning
    					// all known ip and mac bans associated with the current
    					// client
    					// will be deleted
    					if (banned == -1)
    						unban();
    					if (getLoginState() > MapleClient.LOGIN_NOTLOGGEDIN) { // already loggedin
    						loggedIn = false;
    						loginok = 7;
    					} else {
    						boolean updatePasswordHash = false;
    						// Check if the passwords are correct here. :B
    						if (LoginCryptoLegacy.isLegacyPassword(passhash) && LoginCryptoLegacy.checkPassword(pwd, passhash)) {
    							// Check if a password upgrade is needed.
    							loginok = 0;
    							updatePasswordHash = true;
    						} else if (salt == null && LoginCrypto.checkSha1Hash(passhash, pwd)) {
    							loginok = 0;
    							updatePasswordHash = true;
    						} else if (LoginCrypto.checkSaltedSha512Hash(passhash, pwd, salt)) {
    							loginok = 0;
    						} else {
    							loggedIn = false;
    							loginok = 4;
    						}
    						if (updatePasswordHash) {
    							PreparedStatement pss = con.prepareStatement("UPDATE `accounts` SET `password` = ?, `salt` = ? WHERE id = ?");
    							try {
    								String newSalt = LoginCrypto.makeSalt();
    								pss.setString(1, LoginCrypto.makeSaltedSha512Hash(pwd, newSalt));
    								pss.setString(2, newSalt);
    								pss.setInt(3, accId);
    								pss.executeUpdate();
    							} finally {
    								pss.close();
    							}
    						}
    					}
    				}
    			}
    			rs.close();
    			ps.close();
    		} catch (SQLException e) {
    			log.error("ERROR", e);
    		}
    		return loginok;
    	}
    לכו לnet.sf.odinms.client..תפתחו קובץ חדש..תקראו לו AutoRegister..
    ותרשמו בו את זה:
    קוד:
    /*
    	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.client;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.sql.ResultSet;
    
    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 = 1; //change the value to the amount of accounts you want allowed for each ip
            public static final boolean autoRegister = true; //enable = true or disable = false
    
            public static boolean success = false; // DONT CHANGE
            
            public static boolean getAccountExists(String login) {
                    boolean accountExists = false;
                    Connection con = DatabaseConnection.getConnection();
                    try {
                            PreparedStatement ps = con.prepareStatement("SELECT name FROM accounts WHERE name = ?");
                            ps.setString(1, login);
                            ResultSet rs = ps.executeQuery();
                            if(rs.first())
                                    accountExists = true;
                    } catch (Exception ex) {
                            log.error("ERROR", ex);
                    }
                    return accountExists;
            }
    
            public static void createAccount(String login, String pwd, String eip) {
                    String sockAddr = eip;
                    Connection con;
    
                    //connect to database or halt
                    try {
                            con = DatabaseConnection.getConnection();
                    } catch (Exception ex) {
                            log.error("ERROR", ex);
                            return;
                    }
    
                    try {
                            PreparedStatement ipc = con.prepareStatement("SELECT lastknownip FROM accounts WHERE lastknownip = ?");
                            ipc.setString(1, sockAddr.substring(1, sockAddr.lastIndexOf(':')));
                            ResultSet rs = ipc.executeQuery();
                            if (rs.first() == false || rs.last() == true && rs.getRow() < ACCOUNTS_PER_IP) {
                                    try {
                                            PreparedStatement ps = con.prepareStatement("INSERT INTO accounts (name, password, email, birthday, macs, lastknownip) VALUES (?, ?, ?, ?, ?, ?)");
                                            ps.setString(1, login);
                                            ps.setString(2, LoginCrypto.hexSha1(pwd));
                                            ps.setString(3, "no@email.provided");
                                            ps.setString(4, "2008-04-07");
                                            ps.setString(5, "00-00-00-00-00-00");
                                            ps.setString(6, sockAddr.substring(1, sockAddr.lastIndexOf(':')));
                                            ps.executeUpdate();
    
                                            ps.close();
    
                                            success = true;
                                    } catch (SQLException ex) {
                                            log.error("ERROR", ex);
                                            return;
                                    }
                            }
                            ipc.close();
                            rs.close();
                    } catch (SQLException ex) {
                            log.error("ERROR", ex);
                            return;
                    }
            }
    }
    שינויים שאפשר לעשות:
    -להפעיל ולכבות את ההרשמה האוטומטית..
    -להגביל כמות משתמשים לIP...(בשביל זה יש את הLastknownip).
    (אם אתם מסתבכים ולא מוצאים איך עורכים את זה תגידו..



  2. קישורים ממומנים

  3. #2
    משתמש מכור האוואטר של Refaelosh
    שם פרטי
    Refael
    תאריך הצטרפות
    09/2009
    הודעות
    1,820
    לייקים
    0
    נקודות
    0
    משפט מחץ
    Do Not
    מין: זכר

    ברירת מחדל

    תותחית =]
    בברכה,
    רפאל.

    *לכל שאלה\בעיה אשמח לעזור*

  4. #3
    משתמש מתחיל האוואטר של WarShot
    שם פרטי
    Kati:3
    תאריך הצטרפות
    12/2009
    הודעות
    247
    לייקים
    0
    נקודות
    0
    משפט מחץ
    אמ...?
    מין: נקבה

    ברירת מחדל

    תודה ספיררררר 3333333333333>
    תמיד תהיו מי שאתם.

  5. #4

    ברירת מחדל

    מה זה לכו לnet.sf.odinms.client..תפתחו קובץ חדש..תקראו לו AutoRegister.. לאיפה ללכת ?

+ תגובה לנושא


הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך


כל הזמנים הם לפי GMT +3. השעה כרגע היא 15:00.
מופעל על ידי vBulletin™ © גרסה 4.1, 2011 vBulletin Solutions, Inc. כל הזכויות שמורות.
פעילות הגולשים
אומנות וגרפיקה
מוזיקה
ספורט
סדרות טלוויזיה
סרטים וקולנוע
קנייה ומכירה
רשתות חברתיות
הבורר 3
פורומי פנאי ובידור
סרטים
סדרות
משחקים
דיבורים
אקטואליה
בעלי חיים
בדיחות והומור
משחקי ספורט
הבורר
מחשבים וטכנולוגיה
תמיכה טכנית
חומרה ומודינג
תוכנות להורדה
סלולארי וגאדג'טים
רקעים למחשב
ציוד הקפי למחשב
אבטחת מידע
תכנות ובניית אתרים
כסף ברשת
אייפון
בריאות ואורח חיים
כושר ופיתוח גוף
דיאטה
צבא וגיוס
יעוץ מיני
מה שבלב
אומנות הפיתוי
יהדות
מיסטיקה ורוחניות
אתאיזם ודתות

נושאים: 2,472,711 | הודעות: 8,173,298 | משתמשים: 315,603 | המשתמש החדש ביותר: upizijoj | עיצוב גרפי: סטודיו עודד בביוף | קידוד: rellect