def build_extensions(self): self.check_extensions_list(self.extensions) for ext in self.extensions: if self.debug_info: ext.extra_compile_args += ["-Zi", "/Od"] ext.extra_link_args += ["-debug"] if ext.name == 'cuwo.tgen': if self.disable_tgen: continue download_dependencies(self.email, self.password) self.generate_tgen_sources(ext) self.build_extension(ext)
def main(): # make sure we enable crash logging as early as possible faulthandler.enable() # for py2exe if hasattr(sys, 'frozen'): path = os.path.dirname(sys.executable) root = os.path.abspath(os.path.join(path, '..')) sys.path.append(root) config = ConfigObject('./config') if sys.platform == 'win32': from cuwo.win32 import WindowsEventLoop loop = WindowsEventLoop() loop.set_clock_resolution(1 * 1e-3) asyncio.set_event_loop(loop) else: try: import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) print('(using uvloop)') except ImportError: pass loop = asyncio.get_event_loop() if config.base.use_tgen: from cuwo.download import download_dependencies download_dependencies() server = CubeWorldServer(loop, config) loop.add_signal_handler(signal.SIGINT, server.stop) print('cuwo running on port %s' % config.base.port) if config.base.profile_file is None: loop.run_forever() else: import cProfile cProfile.run('loop.run_forever()', filename=config.base.profile_file) sys.exit(server.exit_code)