spockbot.plugins.core.net module¶
Provides an asynchronous, crypto and compression aware socket for connecting to servers and processing incoming packet data. Coordinates with the Timers plugin to honor wall-clock timers
-
class
spockbot.plugins.core.net.AESCipher(shared_secret)¶ Bases:
object-
decrypt(data)¶
-
encrypt(data)¶
-
-
class
spockbot.plugins.core.net.NetCore(sock, event, select)¶ Bases:
object-
connect(host='localhost', port=25565)¶
-
disable_crypto()¶
-
enable_crypto(secret_key)¶
-
push(packet)¶
-
push_packet(ident, data)¶
-
read_packet(data=b'')¶
-
reset(sock)¶
-
set_comp_state(threshold)¶
-
set_proto_state(state)¶
-
-
class
spockbot.plugins.core.net.NetPlugin(ploader, settings)¶ Bases:
spockbot.plugins.base.PluginBase-
check_quit()¶
-
defaults= {'bufsize': 4096, 'sock_quit': True}¶
-
events= {'event_kill': 'handle_kill', 'select_recv': 'handle_recv', 'SOCKET_ERR': 'handle_err', 'PLAY<Disconnect': 'handle_disconnect', 'PLAY<Set Compression': 'handle_comp', 'select_err': 'handle_err', 'HANDSHAKE>Handshake': 'handle_handshake', 'LOGIN<Set Compression': 'handle_comp', 'select_send': 'handle_send', 'LOGIN<Login Success': 'handle_login_success', 'SOCKET_HUP': 'handle_hup', 'event_tick': 'tick', 'LOGIN<Disconnect': 'handle_login_disconnect'}¶
-
handle_comp(name, packet)¶ Handle Set Compression packets
-
handle_disconnect(name, packet)¶
-
handle_err(name, error)¶ Socket Error has occured
-
handle_handshake(name, packet)¶ Change to whatever the next state is going to be
-
handle_hup(name, data)¶ Socket has hung up
-
handle_kill(name, data)¶ Try to shutdown the socket politely
-
handle_login_disconnect(name, packet)¶
-
handle_login_success(name, packet)¶ Change to Play state
-
handle_recv(name, fileno)¶ Socket is ready to recieve data
-
handle_select_err(name, fileno)¶
-
handle_send(name, fileno)¶ Socket is ready to send data and send buffer has data to send
-
pl_announce= ('Net',)¶
-
requires= ('Event', 'Select', 'Timers')¶
-
reset_sock()¶
-
tick(name, data)¶
-