Strategická: Lepší dokumentace
This commit is contained in:
parent
f70cb47027
commit
b0739b93bd
2 changed files with 81 additions and 4 deletions
55
README.md
Normal file
55
README.md
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
Strategická hra na soustředění KSP 2022.
|
||||||
|
========================================
|
||||||
|
|
||||||
|
Copyright (C) 2022 Jiří Kalvoda <jirikalvoda@kam.mff.cuni.cz>
|
||||||
|
Copyright (C) 2022 David Klement
|
||||||
|
Copyright (C) 2022 Martin Koreček
|
||||||
|
|
||||||
|
Some parts of code is from OSMO:
|
||||||
|
|
||||||
|
Copyright (C) 2020 - 2022 Martin Mareš
|
||||||
|
Copyright (C) 2020 - 2022 Jiří Setnička
|
||||||
|
Copyright (C) 2021 - 2022 Jiří Kalvoda
|
||||||
|
|
||||||
|
And MHD game on SKSP2021:
|
||||||
|
|
||||||
|
Copyright (C) 2022 Jiří Kalvoda <jirikalvoda@kam.mff.cuni.cz>
|
||||||
|
|
||||||
|
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
|
||||||
|
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 <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Koncept hry
|
||||||
|
===========
|
||||||
|
|
||||||
|
Jedná se o programovací hru postavenou okolo web serveru a JSON API.
|
||||||
|
|
||||||
|
Hra se hraje v tazích po 10 až 60 sekundách. V každém tahu si každý soutěžící stáhne
|
||||||
|
stav hry a odpoví svým tahem. Ten se pak centrálně vyhodnotí.
|
||||||
|
|
||||||
|
Předpokládá se, že hráči upravují svůj program v závislosti na aktuálním stavu hry.
|
||||||
|
|
||||||
|
|
||||||
|
Instalace
|
||||||
|
=========
|
||||||
|
|
||||||
|
Viz `server/README.md`
|
||||||
|
|
||||||
|
Hry
|
||||||
|
===
|
||||||
|
|
||||||
|
Momentálně je implementována jediná hra -- Obsazování území.
|
||||||
|
Viz `pravidla.md`.
|
||||||
|
|
||||||
|
Web server do ovšem psaný dostatečně obecně na to aby šli další hry přidat.
|
||||||
|
Podívejte se do `server/hra/game.py` a případně do `server/hra/web/game.py`,
|
||||||
|
kde je zobrazování stavu hry jako webové stránky.
|
|
@ -15,17 +15,38 @@ Velké poděkování patří Medvědovi a Jirkovi Setničkovi, jejichž kód vyk
|
||||||
postgres=# CREATE DATABASE ksp_strathra_devel WITH OWNER=$(UŽVATELSKÉ JMÉNO);
|
postgres=# CREATE DATABASE ksp_strathra_devel WITH OWNER=$(UŽVATELSKÉ JMÉNO);
|
||||||
|
|
||||||
# Naplníme databázi
|
# Naplníme databázi
|
||||||
bin/db_init
|
bin/db_init [--drop]
|
||||||
|
|
||||||
# Přístup do orgočásti webu
|
# Přístup do orgočásti webu
|
||||||
bin/create_user --org root <heslo>
|
bin/create_user --org root <heslo>
|
||||||
|
|
||||||
|
#
|
||||||
|
bin/build nebo bin/update
|
||||||
|
|
||||||
./flask run
|
./flask run
|
||||||
|
|
||||||
# Po běžných úpravách není potřeba balíček přeinstalovávat
|
# Po běžných úpravách není potřeba balíček přeinstalovávat
|
||||||
|
|
||||||
## Instalace na produkční server
|
## CMD ovládání
|
||||||
|
|
||||||
TODO: Upravit (momentálně pouze vykradeno)
|
Některé části serveru se nedají ovládat přes web, je nutné pouštět skripty v adresáři
|
||||||
|
`bin`. Před spouštěním je nutné aktivovat venv!
|
||||||
|
|
||||||
|
Vytváření nové hry (konfigurace přepsáním programu):
|
||||||
|
./bin/create_game
|
||||||
|
|
||||||
|
Každý uživatel při vzniku dostane také testovací hru (parametry v `hra/lib.py`).
|
||||||
|
|
||||||
|
Ovládání hry:
|
||||||
|
./bin/control_game
|
||||||
|
|
||||||
|
Aby fungovali automatické kroky, je nutné nechat běžet
|
||||||
|
./bin/control_game [id] --autosteps
|
||||||
|
|
||||||
|
Vytváření (orgovského) účtu:
|
||||||
|
./bin/create_user [--org]
|
||||||
|
|
||||||
|
## Instalace na produkční server
|
||||||
|
|
||||||
# Pro systém s jádrem < 5.4 zvýšit net.core.somaxconn (jako root)
|
# Pro systém s jádrem < 5.4 zvýšit net.core.somaxconn (jako root)
|
||||||
[ "`cat /proc/sys/net/core/somaxconn`" -lt 4096 ] && echo net.core.somaxconn=4096 >> /etc/sysctl.conf && sysctl -p
|
[ "`cat /proc/sys/net/core/somaxconn`" -lt 4096 ] && echo net.core.somaxconn=4096 >> /etc/sysctl.conf && sysctl -p
|
||||||
|
@ -44,6 +65,7 @@ TODO: Upravit (momentálně pouze vykradeno)
|
||||||
vi authorized_keys
|
vi authorized_keys
|
||||||
|
|
||||||
# Pushnout data (jako svůj uživatel v složce s README)
|
# Pushnout data (jako svůj uživatel v složce s README)
|
||||||
|
bin/build nebo bin/update
|
||||||
bin/deploy
|
bin/deploy
|
||||||
|
|
||||||
# Nainstalovat venv
|
# Nainstalovat venv
|
||||||
|
@ -53,7 +75,7 @@ TODO: Upravit (momentálně pouze vykradeno)
|
||||||
pip install -c constraints.txt --editable .
|
pip install -c constraints.txt --editable .
|
||||||
|
|
||||||
# Inicializovat databázi (už jako mo-web)
|
# Inicializovat databázi (už jako mo-web)
|
||||||
bin/db_init
|
bin/db_init [--drop]
|
||||||
|
|
||||||
# Pustit web
|
# Pustit web
|
||||||
uwsgi --http 127.0.0.1:8000 --master -p 4 -w hra.web:app
|
uwsgi --http 127.0.0.1:8000 --master -p 4 -w hra.web:app
|
||||||
|
|
Loading…
Reference in a new issue