bravoserver / bravo

UNMAINTAINED: Reverse-engineered Minecraft stuff. Worked with 1.4.x protocol
http://bravoserver.org/
Other
206 stars 46 forks source link

Client Can not connect. #363

Closed d4l3k closed 13 years ago

d4l3k commented 13 years ago

Whenever I try to connect with the Notchian client this pops up, and drops me:

2011-10-01 01:35:56-0700 [bravo.beta.factory.BravoFactory] Starting connection for IPv4Address(TCP, '98.125.115.212', 62666)
2011-10-01 01:35:56-0700 [bravo.beta.factory.BravoFactory] Registering client hooks...
2011-10-01 01:35:56-0700 [bravo.beta.factory.BravoFactory] Registered entity <bravo.beta.protocol.BravoProtocol object at 0xa2d868c>
2011-10-01 01:35:56-0700 [bravo.beta.factory.BravoFactory] Registering policies...
2011-10-01 01:35:56-0700 [bravo.beta.factory.BravoFactory] Registered client plugin hooks!
2011-10-01 01:35:56-0700 [BravoProtocol,4,98.125.115.212] Authenticating client, protocol version 17
2011-10-01 01:35:59-0700 [BravoProtocol,4,98.125.115.212] Unhandled Error
        Traceback (most recent call last):
          File "/usr/local/lib/python2.7/dist-packages/twisted/python/log.py", line 84, in callWithLogger
            return callWithContext({"system": lp}, func, *args, **kw)
          File "/usr/local/lib/python2.7/dist-packages/twisted/python/log.py", line 69, in callWithContext
            return context.call({ILogContext: newCtx}, func, *args, **kw)
          File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
            return self.currentContext().callWithContext(ctx, func, *args, **kw)
          File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
            return func(*args,**kw)
        --- <exception caught here> ---
          File "/usr/local/lib/python2.7/dist-packages/twisted/internet/selectreactor.py", line 146, in _doReadOrWrite
            why = getattr(selectable, method)()
          File "/usr/local/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 460, in doRead
            rval = self.protocol.dataReceived(data)
          File "/usr/local/lib/python2.7/dist-packages/bravo/beta/protocol.py", line 320, in dataReceived
            self.handlers[header](payload)
          File "/usr/local/lib/python2.7/dist-packages/bravo/beta/protocol.py", line 125, in ping
            self.latency = now - then
          File "/usr/local/lib/python2.7/dist-packages/bravo/beta/protocol.py", line 463, in latency
            ping=value)
          File "/usr/local/lib/python2.7/dist-packages/bravo/beta/packets.py", line 708, in make_packet
            payload = packets[header].build(container)
          File "/usr/local/lib/python2.7/dist-packages/construct/core.py", line 206, in build
            self.build_stream(obj, stream)
          File "/usr/local/lib/python2.7/dist-packages/construct/core.py", line 214, in build_stream
            self._build(obj, stream, Container())
          File "/usr/local/lib/python2.7/dist-packages/construct/core.py", line 664, in _build
            sc._build(subobj, stream, context)
          File "/usr/local/lib/python2.7/dist-packages/construct/core.py", line 361, in _build
            raise FieldError(ex)
        construct.core.FieldError: 'H' format requires 0 <= number <= 65535

2011-10-01 01:35:59-0700 [BravoProtocol,4,98.125.115.212] Destroyed entity Player(eid=6, location=<Location(midair, (8, 54 (+1.813474), 8), (3.14, 0.00))>)

I do have construct installed.

d4l3k commented 13 years ago

Removing terrain generators caves, cliffs, and ores fixed it.

MostAwesomeDude commented 13 years ago

Could you bisect which generator does this, please? We'll follow up with a bugfix.

MostAwesomeDude commented 13 years ago

Current theory is that this is caused by pings taking more than 65s to be processed, causing an overflow in the ping packet.

You hit it because you don't have Ampoule, and you are using a lot of generators, causing the server to take many multiple seconds to create terrain and lagging networking operations. Or, at least, that's my guess.

A fix will be out soon.