Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GOTV Button, Field on Matches, Match detail an DB #173

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions get5/get5_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
8 changes: 7 additions & 1 deletion get5/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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:
Expand Down
7 changes: 6 additions & 1 deletion get5/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -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=[
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -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)

Expand All @@ -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)

Expand Down
1 change: 1 addition & 0 deletions get5/templates/match.html
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ <h1>
{% else %}
<div class="panel panel-default" role="alert">
<div class="panel-body">
<a class="btn btn-primary btn-xs" href="steam://connect/{{ match.get_server().get_hostport() }}">Join the server</a> <a class="btn btn-primary btn-xs" href="steam://connect/{{ match.get_server().get_hostportgotv() }}">Spectate on GOTV</a>
This match is pending start.
</div>
</div>
Expand Down
9 changes: 9 additions & 0 deletions get5/templates/matches.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ <h1>
{% else %}
<th>Owner</th>
{% endif %}

{% if all_matches %}
<th>GOTV</th>
{% endif %}

</tr>
</thead>
<tbody>
Expand Down Expand Up @@ -60,6 +65,10 @@ <h1>
{% else %}
<td> <a href="{{ match.get_user().get_url() }}"> {{ match.get_user().name }} </a> </td>
{% endif %}

{% if all_matches %}
<td><a class="btn btn-primary btn-xs" href="steam://connect/{{ match.get_server().get_hostport() }}">Join as Player<a><a class="btn btn-primary btn-xs" href="steam://connect/{{ match.get_server().get_hostportgotv() }}">Watch on GOTV<a></td>
{% endif %}

</tr>
{% endfor %}
Expand Down
8 changes: 8 additions & 0 deletions get5/templates/server_create.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@
<p class="help-block">Your server information will not be exposed to other users.</p>
</div>
</div>

<div class="form-group">
{{ form.portgotv.label(class="col-sm-2 control-label") }}
<div class="col-sm-7">
{{ form.portgotv(class="form-control", placeholder="27020") }}
</div>
</div>


{% if is_admin %}
<div class="form-group">
Expand Down