Add tournament stuff for the website

This commit is contained in:
DeathByDenim 2023-04-20 17:02:21 -04:00
parent 909110b4cb
commit 574f181ad8
Signed by: DeathByDenim
GPG Key ID: 4A475283D925365B
4 changed files with 64 additions and 4 deletions

View File

@ -42,6 +42,35 @@ The webpage will display "OFFLINE" and not attempt to show the server stats.
The password for the admin panel as well as for game servers that support admin password is stored in `/etc/gameserverpassword`. The username for the admin panel is just `onfoss`.
## Website
The website is generated using Jekyll which uses a config.yml that is generated by the deploy script. Additionally, there is a YAML file called events.yml in the _data directory where events are stored. The formatting is:
```
- date: 2022-12-17T14:00:00UTC
intro: "onFOSS-LAN hosted by DeathByDenim"
games:
- time: "14:00"
title: "Get together"
- time: "14:30"
title: "Doom (ODAMEX) XMAS mod"
- time: "15:15"
title: "Teeworlds"
tournament: true
- time: "16:00"
title: "OpenSpades"
- time: "17:00"
title: "Break"
- time: "18:00"
title: "Lix"
- time: "18:30"
title: "Free Play!"
extras: ["Shattered Paradise"]
```
Each game must have a title and it optionally can have a time as well. The optional field extras lists games that were played as part of a bigger category, in this example the free play section.
Finally, you can also specify tournament which will make this game appear in the tournament page.
## Repository
The main version of this git repository is on [git.libregaming.org](https://git.libregaming.org/DeathByDenim/gameserver). There is a mirror on [Github](https://github.com/DeathByDenim/gameserver)

View File

@ -13,9 +13,9 @@
{% for game in event.games %}
{% assign time = game.time | split: ":"%}
{% if game.time %}
<li>{{ game.time }}UTC {{ game.title }}<script>d=new Date(Date.UTC(event_year, event_month, event_day, {{ time | slice: 0 }}, {{ time | slice: 1 }}));document.writeln(" ("+ Intl.DateTimeFormat(undefined, {hour: '2-digit', minute: '2-digit', timeZoneName: 'short'}).format(d) + ")")</script></li>
<li>{{ game.time }}UTC {{ game.title }}{%if game.tournament %} <a href="tournament.html" class="game-tournament">Tournament</a>{% endif %}<script>d=new Date(Date.UTC(event_year, event_month, event_day, {{ time | slice: 0 }}, {{ time | slice: 1 }}));document.writeln(" ("+ Intl.DateTimeFormat(undefined, {hour: '2-digit', minute: '2-digit', timeZoneName: 'short'}).format(d) + ")")</script></li>
{% else %}
<li>{{ game.title }}</li>
<li>{{ game.title }}{%if game.tournament %} <a href="tournament.html" class="game-tournament">Tournament</a>{% endif %}</li>
{% endif %}
{% if game.extras %}
<ul>

View File

@ -18,7 +18,7 @@ nav_pill: home
<h4>Saturday 17 December 2022, 14:00 UTC</h4>
<script>var zone = new Date().toLocaleTimeString('en-ca',{timeZoneName:'short'}).split(' ')[2];d=new Date("Sat, 17 Dec 2022 14:00:00 UTC");document.writeln("<p>(Local time: "+d.toTimeString()+")</p>")</script>
<p>See <a href="schedule.html">schedule</a> for more information.</p>
<h1>Communication</h1>
<h1 id="communication">Communication</h1>
<p>We use Mumble voice chat on <a href="mumble://hribhrib.at">mumble://hribhrib.at</a>. It is the main mode of cummunication during the event.</p>
<p>We also have regular text chat for any time use. You can choose the protocol you like and the program you like, they all point to the same thing in the end</p>
<ul>

View File

@ -3,4 +3,35 @@ layout: default
nav_pill: tournament
---
<h1>Tournament</h1>
<p>No tournaments have been planned</p>
{% assign sitetime = site.time | date: "%FT%T" %}
{% assign nextevent = site.data.events | where_exp: "item", "item.date >= sitetime" | last %}
{% assign tournaments = nextevent.games | where_exp: "item", "item.tournament" %}
{% if tournaments and tournaments.size != 0 %}
<script>
var event_year = {{ nextevent.date | date: "%Y" }};
var event_month = {{ nextevent.date | date: "%M" }};
var event_day = {{ nextevent.date | date: "%M" }};
</script>
<p>There will be a tournament for the next event on {{ nextevent.date | date: "%a, %b %d, %Y" }}</p>
<ul>
{% for game in tournaments %}
{% assign time = game.time | split: ":"%}
{% if game.time %}
<li>{{ game.time }}UTC {{ game.title }}<script>d=new Date(Date.UTC(event_year, event_month, event_day, {{ time | slice: 0 }}, {{ time | slice: 1 }}));document.writeln(" ("+ Intl.DateTimeFormat(undefined, {hour: '2-digit', minute: '2-digit', timeZoneName: 'short'}).format(d) + ")")</script></li>
{% else %}
<li>{{ game.title }}</li>
{% endif %}
{% endfor %}
</ul>
{% else %}
<p>No tournaments have been planned for the next event.</p>
{% endif %}
<h2>Rules</h2>
<p>By joining the tournament you accept following rules:</p>
<h3>MOST IMPORTANT!</h3>
<p>The most important rule is: HAVE FUN! Surely, the tournament is competitive, however, don't forget why we are all here - to have fun playing games together!</p>
<h3>NO CHEATING!</h3>
<p>If you cheat you will get banned from this and all upcoming tournaments! Cheating is: manipulating the game for your advantage. So every third-party tool that help you is not allowed! Due to the blessing of FOSS games can be modified, modification that give you a advantage is also considered cheating! So take the official binaries to play the tournament! If no binaries are available and you have to compile it on your own you are not allowed to modify it. If there is any confusion <a href="index.html#communication">contact us</a> in advance and we will find a solution.</p>
<h3>NO GRIEFING!</h3>
<p>Griefers going to be kicked immediately and if it happens frequent you get banned for upcoming tournaments.
We are all human beings and hopefully capable of being nice to each other! So respect each other and there will not be any problems! However, also counting for griefing is: Register to the event and do not show up without an excuse; Leave the tournament while it is still ongoing and you have to still play any rounds.</p>