Я использую Lidgren как сетевую библиотеку для своего серверного приложения. Я просто пытаюсь узнать, как все может объединяться в реальной среде (доступ к базе данных, сетевое взаимодействие, физика и т. Д.), Поэтому я решил написать базовое серверное приложение для Minecraft. Он не обязательно должен быть полностью функциональным, просто обрабатывайте пакет и еще не работайте.Почему я не могу получать сообщения от сторонних клиентов с Lidgren?
Однако, моя проблема в том, что Лидгрен просто кажется, что игнорирует любые пакеты от Minecraft. Почему это может быть?
var peerConfig = new NetPeerConfiguration("MinecraftDotNet")
{
Port = port,
AcceptIncomingConnections = true
};
peerConfig.EnableMessageType(NetIncomingMessageType.ConnectionApproval);
_lidgrenServer = new NetServer(peerConfig);
_lidgrenServer.Start();
Мой вывод показывает отладочные сообщения от Lidgren, но клиент Minecraft не может «увидеть» сервер (И я не получаю все входящие пакеты от клиента, либо)
Это правильно, но не проблема - Лидгрен не понимает, как читать пакеты, отличные от Lidgren, по-видимому, из-за того, что Лидгрен добавляет заголовок или подобное. –
Это правильно. Надежность и управление подключением требует настраиваемого протокола, который minecraft не понимает. – lidgren
... также, AFAIK minecraft использует TCP, а Lidgren использует UDP. – lidgren