diff --git a/get5/get5_test.py b/get5/get5_test.py index aa25f9e..8b77424 100644 --- a/get5/get5_test.py +++ b/get5/get5_test.py @@ -36,11 +36,11 @@ def create_test_data(self): team2 = Team.create(user, 'Fnatic', 'Fnatic', 'se', 'fntc', ['76561198053858673']) server = GameServer.create( - user, 'myserver1', '127.0.0.1', '27015', 'password', False) + user, 'myserver1', '127.0.0.1', '27015', '27020','password', False) server.in_use = True GameServer.create( - user, 'myserver2', '127.0.0.1', '27016', 'password', True) + user, 'myserver2', '127.0.0.1', '27016', '27020','password', True) db.session.commit() Match.create(user, team1.id, team2.id, '', '', 1, False, diff --git a/get5/models.py b/get5/models.py index 694f238..95213c8 100644 --- a/get5/models.py +++ b/get5/models.py @@ -53,17 +53,19 @@ class GameServer(db.Model): display_name = db.Column(db.String(32), default='') ip_string = db.Column(db.String(32)) port = db.Column(db.Integer) + portgotv = db.Column(db.Integer, default='') rcon_password = db.Column(db.String(32)) in_use = db.Column(db.Boolean, default=False) public_server = db.Column(db.Boolean, default=False, index=True) @staticmethod - def create(user, display_name, ip_string, port, rcon_password, public_server): + def create(user, display_name, ip_string, port, portgotv, rcon_password, public_server): rv = GameServer() rv.user_id = user.id rv.display_name = display_name rv.ip_string = ip_string rv.port = port + rv.portgotv = portgotv rv.rcon_password = rcon_password rv.public_server = public_server db.session.add(rv) @@ -76,6 +78,10 @@ def send_rcon_command(self, command, raise_errors=False, num_retries=3, timeout= def get_hostport(self): return '{}:{}'.format(self.ip_string, self.port) + + def get_hostportgotv(self): + return '{}:{}'.format(self.ip_string, self.portgotv) + def get_display(self): if self.display_name: diff --git a/get5/server.py b/get5/server.py index 2e0d7ea..2721b8d 100644 --- a/get5/server.py +++ b/get5/server.py @@ -23,6 +23,9 @@ class ServerForm(Form): port = IntegerField('Server port', default=27015, validators=[validators.required()]) + + portgotv = IntegerField('GOTV Server port', default=27020, + validators=[validators.optional()]) rcon_password = StringField('RCON password', validators=[ @@ -52,7 +55,7 @@ def server_create(): data = form.data server = GameServer.create(g.user, data['display_name'], - data['ip_string'], data['port'], + data['ip_string'], data['port'], data['portgotv'], data['rcon_password'], data['public_server'] and g.user.admin) @@ -83,6 +86,7 @@ def server_edit(serverid): display_name=server.display_name, ip_string=server.ip_string, port=server.port, + portgotv=server.portgotv, rcon_password=server.rcon_password, public_server=server.public_server) @@ -94,6 +98,7 @@ def server_edit(serverid): server.display_name = data['display_name'] server.ip_string = data['ip_string'] server.port = data['port'] + server.portgotv = data['portgotv'] server.rcon_password = data['rcon_password'] server.public_server = (data['public_server'] and g.user.admin) diff --git a/get5/templates/match.html b/get5/templates/match.html index d5daf32..b250f24 100644 --- a/get5/templates/match.html +++ b/get5/templates/match.html @@ -116,6 +116,7 @@

{% else %} diff --git a/get5/templates/matches.html b/get5/templates/matches.html index fca06ec..4b63b82 100644 --- a/get5/templates/matches.html +++ b/get5/templates/matches.html @@ -28,6 +28,11 @@

{% else %} Owner {% endif %} + + {% if all_matches %} + GOTV + {% endif %} + @@ -60,6 +65,10 @@

{% else %} {{ match.get_user().name }} {% endif %} + + {% if all_matches %} + Join as PlayerWatch on GOTV + {% endif %} {% endfor %} diff --git a/get5/templates/server_create.html b/get5/templates/server_create.html index 6f476af..92c0282 100644 --- a/get5/templates/server_create.html +++ b/get5/templates/server_create.html @@ -47,6 +47,14 @@

Your server information will not be exposed to other users.

+ +
+ {{ form.portgotv.label(class="col-sm-2 control-label") }} +
+ {{ form.portgotv(class="form-control", placeholder="27020") }} +
+
+ {% if is_admin %}