twgs-proxy.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env python3
  2. import sys
  3. try:
  4. from twisted.internet import reactor
  5. except ImportError:
  6. print("\x1b[1mHey!\x1b[0m Activate your venv first!")
  7. sys.exit(2)
  8. from twisted.internet import protocol
  9. import logging
  10. import logging.config
  11. from twisted.python import log
  12. from proxy import Player
  13. import argparse
  14. parser = argparse.ArgumentParser(description="TradeWars Proxy")
  15. parser.add_argument(
  16. "--config", "-c", type=str, help="Configuration file to load", default="config.yaml"
  17. )
  18. parser.add_argument("--debug", action="store_true")
  19. args = parser.parse_args()
  20. # from twisted.python.logfile import DailyLogFile
  21. from config import version, load
  22. load(args.config)
  23. from config import config
  24. logger = logging.getLogger(__name__)
  25. log.PythonLoggingObserver().start()
  26. # if "logfile" in config and config["logfile"]:
  27. # log.startLogging(DailyLogFile("proxy.log", "."))
  28. # else:
  29. # log.startLogging(sys.stdout)
  30. logger.error("This is version: {0}".format(version))
  31. factory = protocol.Factory()
  32. factory.protocol = Player
  33. reactor.listenTCP(config["listen_port"], factory, interface=config["listen_on"])
  34. reactor.run()