MC-Radar/main.py

49 lines
1.7 KiB
Python

from twisted.internet import reactor
from quarry.types.uuid import UUID
from quarry.net.proxy import DownstreamFactory, Bridge
class QuietBridge(Bridge):
def packet_unhandled(self, buff, direction, name):
print(f"[*][{direction}] {name}")
if direction == "downstream":
self.downstream.send_packet(name, buff.read())
elif direction == "upstream":
self.upstream.send_packet(name, buff.read())
def packet_downstream_spawn_player(self, buff):
print("GOT PLAYER SPAWN")
print(buff.unpack_varint())
print(buff.unpack_uuid())
print(buff.unpack_varint())
print(buff.unpack_varint())
print(buff.unpack_varint())
self.downstream.send_packet("spawn_player", buff.read())
class QuietDownstreamFactory(DownstreamFactory):
bridge_class = QuietBridge
motd = "Sierra Server"
def main(argv):
# Parse options
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-a", "--listen-host", default="", help="address to listen on")
parser.add_argument("-p", "--listen-port", default=25565, type=int, help="port to listen on")
parser.add_argument("-b", "--connect-host", default="127.0.0.1", help="address to connect to")
parser.add_argument("-q", "--connect-port", default=25565, type=int, help="port to connect to")
args = parser.parse_args(argv)
# Create factory
factory = QuietDownstreamFactory()
factory.connect_host = args.connect_host
factory.connect_port = args.connect_port
# Listen
factory.listen(args.listen_host, args.listen_port)
reactor.run()
if __name__ == "__main__":
import sys
main(sys.argv[1:])