#!/usr/bin/env python3
# ==============================================================================
# Copyright (C) 2019 - Philip Paquette, Steven Bocco
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see .
# ==============================================================================
""" Small module script to quickly start a server with pretty log-printing.
You can stop the server with keyboard interruption (Ctrl+C). Usage:
.. code-block:: bash
# run on port 8432.
python -m diplomacy.server.run
# run on given port.
python -m diplomacy.server.run --port=
"""
import argparse
from diplomacy import Server
from diplomacy.utils import constants
if __name__ == '__main__':
PARSER = argparse.ArgumentParser(description='Run server.')
PARSER.add_argument('--port', '-p', type=int, default=constants.DEFAULT_PORT,
help='run on the given port (default: %s)' % constants.DEFAULT_PORT)
ARGS = PARSER.parse_args()
try:
Server().start(port=ARGS.port)
except KeyboardInterrupt:
print('Keyboard interruption.')