Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
PufferfishДобрый вечер!
Какое посоветуете ядро на сервер, с уклоном на ваниллу и на версии 1.18.1?
Пока сижу на Patina, ТПС толком и не падает. Хотел попробовать ещё Airplane, но на 1.18.1 его нет.
с ним проблемка есть, хз не только у меня но кикает игроков по причине timeoutPufferfish
не было такого что половину игроков кикает по причине timeout keepaliveДолгое время сижу на Pufferfish, с своей задачей справляется на ура.
у меня и друга когда заходит больше 80 игроков на сервер так кикаетДолгое время сижу на Pufferfish, с своей задачей справляется на ура.
Это можно при желании отключить.не было такого что половину игроков кикает по причине timeout keepalive
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketEvent;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Main extends JavaPlugin {
public final String VERSION = Bukkit.getServer().getClass().getName().split("\\.")[3]; //версия пакетов
@Override
public void onEnable() {
try {
Method PlayerConnection_setPendingPing = Class.forName("net.minecraft.server." + VERSION + ".PlayerConnection").getDeclaredMethod("setPendingPing", boolean.class);
PlayerConnection_setPendingPing.setAccessible(true);
Field CraftPlayer_entity = Class.forName("org.bukkit.craftbukkit." + VERSION + ".entity.CraftEntity").getDeclaredField("entity");
CraftPlayer_entity.setAccessible(true);
Field EntityPlayer_playerConnection = Class.forName("net.minecraft.server." + VERSION + ".EntityPlayer").getDeclaredField("playerConnection");
EntityPlayer_playerConnection.setAccessible(true);
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(this, PacketType.Play.Client.KEEP_ALIVE) {
@Override
public void onPacketReceiving(PacketEvent event) {
try {
Object entity = CraftPlayer_entity.get(event.getPlayer());
Object playerConnection = EntityPlayer_playerConnection.get(entity);
PlayerConnection_setPendingPing.invoke(playerConnection, true);
} catch (Exception e) {
getLogger().info("Ошибка обработки " + event);
e.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
я в этом не понимаюЭто можно при желании отключить.
Код:import com.comphenix.protocol.PacketType; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.events.PacketAdapter; import com.comphenix.protocol.events.PacketEvent; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Main extends JavaPlugin { public final String VERSION = Bukkit.getServer().getClass().getName().split("\\.")[3]; //версия пакетов @Override public void onEnable() { try { Method PlayerConnection_setPendingPing = Class.forName("net.minecraft.server." + VERSION + ".PlayerConnection").getDeclaredMethod("setPendingPing", boolean.class); PlayerConnection_setPendingPing.setAccessible(true); Field CraftPlayer_entity = Class.forName("org.bukkit.craftbukkit." + VERSION + ".entity.CraftEntity").getDeclaredField("entity"); CraftPlayer_entity.setAccessible(true); Field EntityPlayer_playerConnection = Class.forName("net.minecraft.server." + VERSION + ".EntityPlayer").getDeclaredField("playerConnection"); EntityPlayer_playerConnection.setAccessible(true); ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(this, PacketType.Play.Client.KEEP_ALIVE) { @Override public void onPacketReceiving(PacketEvent event) { try { Object entity = CraftPlayer_entity.get(event.getPlayer()); Object playerConnection = EntityPlayer_playerConnection.get(entity); PlayerConnection_setPendingPing.invoke(playerConnection, true); } catch (Exception e) { getLogger().info("Ошибка обработки " + event); e.printStackTrace(); } } }); } catch (Exception e) { e.printStackTrace(); } } }
Ладно, скажи кому нибудь из своих скомпилировать, разберутсяя в этом не понимаю
Да попросил техов уже сделали незнаю поможет лиЛадно, скажи кому нибудь из своих скомпилировать, разберутся
Зачем платить за ядро если есть хороший бесплатный аналог - PufferfishSSSpigot (не ошибка, ядро так и называется)
Из бесплатных я бы предпочёл Patina. В статье не был указан пункт <из бесплатных>Зачем платить за ядро если есть хороший бесплатный аналог - Pufferfish
Я бы не доверял Patina. Сырое ядро. Может и производительнее Pufferfish, хотя я не уверен но я бы предпочел стабильностьИз бесплатных я бы предпочёл Patina. В статье не был указан пункт <из бесплатных>
Первые 2-3 снапшота конечно не стабильные, но стоит немного подождать, автор выпустит хорошее ядро, что он и сделал впринципе.Я бы не доверял Patina. Сырое ядро. Может и производительнее Pufferfish, хотя я не уверен но я бы предпочел стабильность
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения