diff options
author | Karel Kočí <cynerd@email.cz> | 2015-09-15 09:52:25 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2015-11-07 11:45:16 +0100 |
commit | 9a999c599dad8375d66531bd20c9e4ea0b642845 (patch) | |
tree | 7015a15d0176f9d590fc53e31a840a2b85ae0650 /servert | |
parent | e4b0c7f50efbe0c42aa933cb58a86a44367c1140 (diff) | |
download | mcserver-wrapper-9a999c599dad8375d66531bd20c9e4ea0b642845.tar.gz mcserver-wrapper-9a999c599dad8375d66531bd20c9e4ea0b642845.tar.bz2 mcserver-wrapper-9a999c599dad8375d66531bd20c9e4ea0b642845.zip |
Implement new module printconf
Diffstat (limited to 'servert')
-rwxr-xr-x | servert | 73 |
1 files changed, 73 insertions, 0 deletions
@@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +import os +import sys +import socket +from threading import Thread +import importlib.machinery as imp + +class conf: + modulesFolder = 'modules' + localip = '127.0.0.1' + localport = 25565 + remoteip = '192.168.1.145' + remoteport = 25566 + +# Load modules utils +utils = imp.SourceFileLoader("utils", + conf.modulesFolder + '/utils.py').load_module() + +__players__ = set() + +class Packet: + def __init__(self, sizeoffset, bsize, data): + #print(sizeoffset) + #print(bsize) + pass + +class Player: + class Connection(Thread): + def __init__(self, source, target, player, direction): + Thread.__init__(self, name="PlayerConnection" + str(direction)) + self.source = source + self.target = target + self.player = player + def run(self): + while True: + i = 0 + packet_size = 0 + nextbt = True + data = self.source.recv(1) + if not data: break + while nextbt: + bt = data[i] + nextbt = bool(bt & (1 << 7)) + bt = bt & ~(1 << 7) + packet_size = packet_size | (bt << (i * 7)) + if nextbt: + data += self.source.recv(1) + i += 1 + data += self.source.recv(packet_size) + Packet(i, packet_size, data) + self.target.send(data) + def __init__(self, conn, addr): + self.conn = conn + self.addr = addr + self.s = socket.socket() + self.s.connect((conf.remoteip, conf.remoteport)) + self.t_left = Player.Connection(conn, self.s, self, 1) + self.t_right = Player.Connection(self.s, conn, self, 2) + self.t_left.start() + self.t_right.start() + +def fakeserver(): + s = socket.socket() + s.bind((conf.localip, conf.localport)) + s.listen(2) + #while True: + conn, addr = s.accept() + __players__.add(Player(conn, addr)) + +################################################################################# + +if __name__ == '__main__': + fakeserver() |