Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
norton Написал:Я думаю что у вас поудобнее написано все!
Если не жалко поделитесь..., можно в личку ссылкой, если тут не хотите давать... 1. Он неподойдет ни под 1 сервер, кроме моего.
2. Нашару такое давать врядли кто-то будет.
Сообщений: 5,862
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
linliss Написал:1. Он неподойдет ни под 1 сервер, кроме моего. Шифрация?
1111
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
08-17-2012, 04:15 AM
(Сообщение последний раз редактировалось: 08-17-2012, 05:02 AM linliss.)
Zubastic Написал:Шифрация?
1111 нет, другие пакеты auth<->server и другая система авторизации серверов
в крипте таких пакетов нет никого смысла, они ведь дальше локальной сети не идут, а их крипт/декрипт это лишние расходы ресурсов...
Сообщений: 18
Тем: 1
Зарегистрирован: Aug 2012
Репутация:
40
linliss Написал:1. Он неподойдет ни под 1 сервер, кроме моего.
А мне и не надо, чтобы он подходил.
Мне надо человеко понятный код видеть.
Или чтобы кто - то посоветовал, по качественнее frozen'ov.
Если так, таковы имеется.
Сообщений: 2,101
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
У сф все довольно понятно, да и во всех системах лс все довольно понятно. Если вы не понимаете простую суть (генерацию ключей, сессий, передача и получение информации по средству пакетов, передача управления с лс на гс с информацией о аккаунте), то это ваши уже проблемы и некомпетентность в данном вопросе. Нужен код чище и без лишнего(по вашему мнению, лишнего), пишите свой. Удачи вам в начинаниях.
Сообщений: 144
Тем: 9
Зарегистрирован: Jul 2012
Репутация:
2,152
linliss, при написании с нуля эти фреймворки дают приличную скорость в разработке.
norton, использовать или нет - для себя каждый решает сам. Если вы имеете хоть какие-то представления о работе данных фреймворков, то однозначно - использовать.
Поделиться абсолютно не жалко, http://rghost.ru/39831877, пользуйтесь. Необходимо написать протокол LS<->GS под ваш сервер и доделать систему авторизации.
Сообщений: 183
Тем: 8
Зарегистрирован: Dec 2011
Репутация:
89
Camelion Написал:Поделиться абсолютно не жалко, http://rghost.ru/39831877, пользуйтесь. Необходимо написать протокол LS<->GS под ваш сервер и доделать систему авторизации. Лучше на github глянуть нормальную реализацию логин сервера с DI /JPA (например WoW серверов на java)
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
Camelion Написал:linliss, при написании с нуля эти фреймворки дают приличную скорость в разработке. для логин сервера под la2 эти фреймворки не нужны(мое мнение), зачем делать новый велосипед, когда старый замечательно работает, да и количество кода там небольшое...
Сообщений: 183
Тем: 8
Зарегистрирован: Dec 2011
Репутация:
89
Зато не будет бойлерплейта вроде этого )
code
PHP код: <?php
Connection con = null;
PreparedStatement statement = null;
ResultSet rset = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
statement = con.prepareStatement("SELECT password, access_level, ban_expire, allow_ip, bonus, bonus_expire, last_server, last_ip, last_access, points FROM accounts WHERE login = ?");
statement.setString(1, login);
rset = statement.executeQuery();
if(rset.next())
{
setPasswordHash(rset.getString("password"));
setAccessLevel(rset.getInt("access_level"));
setBanExpire(rset.getInt("ban_expire"));
setAllowedIP(rset.getString("allow_ip"));
setBonus(rset.getDouble("bonus"));
setBonusExpire(rset.getLong("bonus_expire"));
setLastServer(rset.getInt("last_server"));
setLastIP(rset.getString("last_ip"));
setLastAccess(rset.getInt("last_access"));
setPremiumPoints(rset.getLong("points"));
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
DbUtils.closeQuietly(con, statement, rset);
}
Сообщений: 144
Тем: 9
Зарегистрирован: Jul 2012
Репутация:
2,152
linliss, я не просто логин сервер переписываю, а пишу новый эмулятор, поэтому стараюсь придерживаться одинаковой структуры как для сервера авторизации, так и для гейм сервера.
j4ckTheRipp,
Открыть спойлер
code
PHP код: <?php
Account account = null;
Session session = DatabaseFactory.getInstance().openSession();
try {
Criteria criteria = session.createCriteria(Account.class);
criteria.add(Restrictions.eq("login", login));
criteria.setMaxResults(1);
List acs = criteria.list();
if (acs.size() == 1)
account = (Account) acs.get(0);
} catch (Exception e) {
Log.w(LOG_TAG, "Exception in restoreByLogin() for account '" + login + "'", e);
} finally {
session.close();
}
|