#!/usr/bin/python3 # -*- coding: utf-8 -*- import logging import asyncio import sys import socket import struct import time import traceback from importlib import reload from .PlayerManager import PlayerManager class SourceRCONServer(): class SourceRCONClient(): def __init__(self, Server, Socket, Name): self.Loop = Server.Loop self.Server = Server self._sock = Socket self.Name = Name self.Authenticated = False asyncio.Task(self._peer_handler()) def send(self, data): return self.Loop.sock_sendall(self._sock, data) @asyncio.coroutine def _peer_handler(self): try: yield from self._peer_loop() except IOError: pass finally: self.Server.Remove(self) @asyncio.coroutine def _peer_loop(self): while True: Data = yield from self.Loop.sock_recv(self._sock, 1024) if Data == b'': break while Data: p_size = struct.unpack("