Перейти к содержанию
Авторизация  
Мо3олЬ

Ошибка Ipblock

Рекомендуемые сообщения

Всем привет) Сделал на сервере привязку по ip-адресу голосовой командой, проблем не было, но после как запустил сервер, сделал привязку через команду .ipblock, проходит мин 2-3 появляется ошибка вот скрин:

Скрытый текст

2188d8fb72ec.jpg

Сборка L2jserver (эпилог последняя рева). Буду благодарен за вашу помощь!!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в IpBlock.java 29 строчка

В ней ищи ошибку =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот код, красным выделена 29 строчка!

Скрытый текст

package handlers.voicedcommandhandlers;

 

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.logging.Logger;

import com.l2jserver.L2DatabaseFactory;

import com.l2jserver.gameserver.handler.IVoicedCommandHandler;

import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;

 

public class IpBlock

implements IVoicedCommandHandler

{

 

public IpBlock()

{

}

 

public boolean useVoicedCommand(String s, L2PcInstance l2pcinstance, String s1)

{

if(s.startsWith("ipblock"))

{

 

 

 

try

{

Connection connection = L2DatabaseFactory.getInstance().getConnection();

PreparedStatement preparedstatement = connection.prepareStatement("SELECT * FROM accounts WHERE login=?");

preparedstatement.setString(1, l2pcinstance.getAccountName());

ResultSet resultset = preparedstatement.executeQuery();

resultset.next();

if(resultset.getBoolean("IPBlock"))

{

PreparedStatement preparedstatement1 = connection.prepareStatement("UPDATE accounts SET ipblock = 0 WHERE login=?");

preparedstatement1.setString(1, l2pcinstance.getAccountName());

preparedstatement1.execute();

l2pcinstance.sendMessage("Ваш аккаунт больше не привязан по IP-адресу");

_log.info((new StringBuilder()).append("changing ip block mode for account ").append(l2pcinstance.getAccountName()).append(": Blocking off").toString());

} else

{

PreparedStatement preparedstatement2 = connection.prepareStatement("UPDATE accounts SET ipblock = 1 WHERE login=?");

preparedstatement2.setString(1, l2pcinstance.getAccountName());

preparedstatement2.execute();

l2pcinstance.sendMessage((new StringBuilder()).append("Ваш аккаут был привязан к IP-адресу").append(resultset.getString("lastIP")).toString());

_log.info((new StringBuilder()).append("changing ip block mode for account ").append(l2pcinstance.getAccountName()).append(": Blocking on").toString());

}

}

catch(SQLException sqlexception)

{

_log.warning((new StringBuilder()).append("Could not store IPBlock mode: ").append(sqlexception).toString());

}

}

return true;

}

 

public String[] getVoicedCommandList()

{

return VOICED_COMMANDS;

}

 

private static Logger _log = Logger.getLogger(handlers.voicedcommandhandlers.IpBlock.class.getName());

private static final String VOICED_COMMANDS[] = {

"ipblock"

};

 

}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вот код, красным выделена 29 строчка!

Скрытый текст

package handlers.voicedcommandhandlers;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.logging.Logger;

import com.l2jserver.L2DatabaseFactory;

import com.l2jserver.gameserver.handler.IVoicedCommandHandler;

import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;

public class IpBlock

implements IVoicedCommandHandler

{

public IpBlock()

{

}

public boolean useVoicedCommand(String s, L2PcInstance l2pcinstance, String s1)

{

if(s.startsWith("ipblock"))

{

try

{

Connection connection = L2DatabaseFactory.getInstance().getConnection();

PreparedStatement preparedstatement = connection.prepareStatement("SELECT * FROM accounts WHERE login=?");

preparedstatement.setString(1, l2pcinstance.getAccountName());

ResultSet resultset = preparedstatement.executeQuery();

resultset.next();

if(resultset.getBoolean("IPBlock"))

{

PreparedStatement preparedstatement1 = connection.prepareStatement("UPDATE accounts SET ipblock = 0 WHERE login=?");

preparedstatement1.setString(1, l2pcinstance.getAccountName());

preparedstatement1.execute();

l2pcinstance.sendMessage("Ваш аккаунт больше не привязан по IP-адресу");

_log.info((new StringBuilder()).append("changing ip block mode for account ").append(l2pcinstance.getAccountName()).append(": Blocking off").toString());

} else

{

PreparedStatement preparedstatement2 = connection.prepareStatement("UPDATE accounts SET ipblock = 1 WHERE login=?");

preparedstatement2.setString(1, l2pcinstance.getAccountName());

preparedstatement2.execute();

l2pcinstance.sendMessage((new StringBuilder()).append("Ваш аккаут был привязан к IP-адресу").append(resultset.getString("lastIP")).toString());

_log.info((new StringBuilder()).append("changing ip block mode for account ").append(l2pcinstance.getAccountName()).append(": Blocking on").toString());

}

}

catch(SQLException sqlexception)

{

_log.warning((new StringBuilder()).append("Could not store IPBlock mode: ").append(sqlexception).toString());

}

}

return true;

}

public String[] getVoicedCommandList()

{

return VOICED_COMMANDS;

}

private static Logger _log = Logger.getLogger(handlers.voicedcommandhandlers.IpBlock.class.getName());

private static final String VOICED_COMMANDS[] = {

"ipblock"

};

}

Соединение закрывайте в конце метода. Что за свинство...

connection.close();

 

P.S. посмотрел код, отрывать руки надо за такой...

Изменено пользователем ☼◄umen►☼

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Соединение закрывайте в конце метода. Что за свинство...

connection.close();

 

P.S. посмотрел код, отрывать руки надо за такой...

Свинство не закрывать его не в методе а в блоке finally!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...