aboutsummaryrefslogtreecommitdiff
path: root/servert
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2015-09-15 09:52:25 +0200
committerKarel Kočí <cynerd@email.cz>2015-11-07 11:45:16 +0100
commit9a999c599dad8375d66531bd20c9e4ea0b642845 (patch)
tree7015a15d0176f9d590fc53e31a840a2b85ae0650 /servert
parente4b0c7f50efbe0c42aa933cb58a86a44367c1140 (diff)
downloadmcserver-wrapper-9a999c599dad8375d66531bd20c9e4ea0b642845.tar.gz
mcserver-wrapper-9a999c599dad8375d66531bd20c9e4ea0b642845.tar.bz2
mcserver-wrapper-9a999c599dad8375d66531bd20c9e4ea0b642845.zip
Implement new module printconf
Diffstat (limited to 'servert')
-rwxr-xr-xservert73
1 files changed, 73 insertions, 0 deletions
diff --git a/servert b/servert
new file mode 100755
index 0000000..3213373
--- /dev/null
+++ b/servert
@@ -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()