evennia.server.portal.grapevine¶
Grapevine network connection
This is an implementation of the Grapevine Websocket protocol v 1.0.0 as outlined here: https://grapevine.haus/docs
This will allow the linked game to transfer status as well as connects the grapevine client to in-game channels.
- class evennia.server.portal.grapevine.RestartingWebsocketServerFactory(sessionhandler, *args, **kwargs)[source]¶
Bases:
WebSocketClientFactory,ReconnectingClientFactoryA variant of the websocket-factory that auto-reconnects.
- initialDelay = 1¶
- factor = 1.5¶
- maxDelay = 60¶
- __init__(sessionhandler, *args, **kwargs)[source]¶
Note
In addition to all arguments to the constructor of :func:autobahn.websocket.interfaces.IWebSocketClientChannelFactory, you can supply a **reactor** keyword argument to specify the Twisted reactor to be used.
- buildProtocol(addr)[source]¶
Build new instance of protocol
- Parameters:
addr (str) – Not used, using factory/settings data
- startedConnecting(connector)[source]¶
Tracks reconnections for debugging.
- Parameters:
connector (Connector) – Represents the connection.
- clientConnectionFailed(connector, reason)[source]¶
Called when Client failed to connect.
- Parameters:
connector (Connection) – Represents the connection.
reason (str) – The reason for the failure.
- clientConnectionLost(connector, reason)[source]¶
Called when Client loses connection.
- Parameters:
connector (Connection) – Represents the connection.
reason (str) – The reason for the failure.
- class evennia.server.portal.grapevine.GrapevineClient[source]¶
Bases:
WebSocketClientProtocol,SessionImplements the grapevine client
- onMessage(payload, isBinary)[source]¶
Callback fired when a complete WebSocket message was received.
- Parameters:
payload (bytes) – The WebSocket message received.
isBinary (bool) – Flag indicating whether payload is binary or UTF-8 encoded text.
- onClose(wasClean, code=None, reason=None)[source]¶
This is executed when the connection is lost for whatever reason. it can also be called directly, from the disconnect method.
- Parameters:
wasClean (bool) – **True** if the WebSocket was closed cleanly.
code (int or None) – Close status as sent by the WebSocket peer.
reason (str or None) – Close reason as sent by the WebSocket peer.
- disconnect(reason=None)[source]¶
Generic hook for the engine to call in order to disconnect this protocol.
- Parameters:
reason (str or None) – Motivation for the disconnection.
- send_authenticate(*args, **kwargs)[source]¶
Send grapevine authentication. This should be send immediately upon connection.
- send_subscribe(channelname, *args, **kwargs)[source]¶
Subscribe to new grapevine channel
Use with session.msg(subscribe=”channelname”)
- send_unsubscribe(channelname, *args, **kwargs)[source]¶
Un-subscribe to a grapevine channel
Use with session.msg(unsubscribe=”channelname”)