2013-12-26 1 views
1

Я использую 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 не может «увидеть» сервер (И я не получаю все входящие пакеты от клиента, либо)

ответ

0

Как там было нет ответа, я закрою этот вопрос. Похоже, что из-за некоторого ограничения Лидгрена он может получать сообщения, которые были написаны клиентами Lidgren.

0

Хорошо со временем, Minecraft не понимает, как читать пакеты lidgren.

+0

Это правильно, но не проблема - Лидгрен не понимает, как читать пакеты, отличные от Lidgren, по-видимому, из-за того, что Лидгрен добавляет заголовок или подобное. –

+0

Это правильно. Надежность и управление подключением требует настраиваемого протокола, который minecraft не понимает. – lidgren

+0

... также, AFAIK minecraft использует TCP, а Lidgren использует UDP. – lidgren

Смежные вопросы