Помогите Проблемы с получением ip игрока.

Статус
Закрыто для дальнейших ответов.

pro100koder

Активный участник
Пользователь
Баллы
76
Нужно получать ip игроков, чтобы не допустить "дюпа" через мульти-аккаунты (знаю про статические ip, но, думаю, школьнику, который решит так дюпнуть, не придёт в голову перезапустить компьютер для смены ip.) Вопросов, касаемых ip в инете (По крайней мере, в яндексе) мало. Пробовал по-разному, на момент написания вопроса код, получающий ip, выглядит так:
Код:
@EventHandler
public void onJoin(PlayerJoinEvent e){
Player p = e.getPlayer();
pip.add(p.getAddress().getAddress().getHostAddress().toString());
}
- обрезанный код, добавляющий ip игроков, которые зашли, в arrayList. Позже, этот ArrayList сохраняется в config.yml (Да-да, ругайте меня за его использование. Меня пока что всё устраивает.) и там ip игроков всегда одинаковый: 127.0.0.1, то есть локалхост.
 
Нужно получать ip игроков, чтобы не допустить "дюпа" через мульти-аккаунты (знаю про статические ip, но, думаю, школьнику, который решит так дюпнуть, не придёт в голову перезапустить компьютер для смены ip.) Вопросов, касаемых ip в инете (По крайней мере, в яндексе) мало. Пробовал по-разному, на момент написания вопроса код, получающий ip, выглядит так:
Код:
@EventHandler
public void onJoin(PlayerJoinEvent e){
Player p = e.getPlayer();
pip.add(p.getAddress().getAddress().getHostAddress().toString());
}
- обрезанный код, добавляющий ip игроков, которые зашли, в arrayList. Позже, этот ArrayList сохраняется в config.yml (Да-да, ругайте меня за его использование. Меня пока что всё устраивает.) и там ip игроков всегда одинаковый: 127.0.0.1, то есть локалхост.
Сервер на хостинге или нет?
 
Наверное типа заходишь с миллиона аккаунтов, пишешь кит старт и потом скидываешь всё в один сундук.
Ха я так раньше делал, а потом на сервере стало не интересно потому что у меня все есть. Да и еще хоть там регистрация вроде 2 акк с 1 ip но это меня не остановило . я по 10-15 акков делал )
PS. и зачем мне тот креатив =)
 
Если как сказал Cool_Boy у тебя bungeecord то делай следующие действия,
1) зайди в конфиг bungeecord и поставь ip_forwarding: true
2) зайди в папку сервера, после в bukkit.yml и там поставь bungeecord: true

Проверяй
 
Таких "не серверов" уже очень много расплодилось, жаль конечно даже.
Чувак, это деньги. Сервера где в ките ничего нет особо не набирают онлайна. Деньги - это не игра в альтруизм
 
Дюп за приглашённых людей. Создаю систему типа "пригласи друга - получишь приз", но ip отследить для защиты от дюпа не могу. Какие кит старты? Это сервер миниигр) Да, bungeecord. Хостинга пока что нету.
 
Я так понял тебе надо блокировать 2 соединение игрока.

Держи мой плуг:

package net.lmperatoreq.antitwoconnect;

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {
private List addresses;

public void onEnable() {
this.addresses = new ArrayList();
this.getServer().getPluginManager().registerEvents(this, this);
}

public void onDisable() {
this.addresses.clear();
}

@EventHandler
public void onLogin(AsyncPlayerPreLoginEvent event) {
if(this.addresses.contains(event.getAddress())) {
event.disallow(Result.KICK_FULL, "Вы уже подключены к сессии с другого IP!");
} else {
this.addresses.add(event.getAddress());
}

}

@EventHandler
public void onQuit(PlayerQuitEvent event) {
this.addresses.remove(event.getPlayer().getAddress().getAddress());
}
}
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх