trivialitty weblog

BrowserQuest server na Debianu

Možná jste před nedávnem zaregistrovali spuštění MMORPG hry BrowserQuest, k jejíž hraní nepotřebujete nic víc než moderní webový prohlížeč. Nemusíte ovšem nutně hrát pouze na oficiálních serverech. Stačí si stáhnout zdrojové kódy a můžete si spustit server vlastní.

V tomto návodu budu popisovat spuštění BrowserQuest serveru na linuxovém operačním systému Debian Squeeze. Velmi pravděpodobně bude fungovat i na jiných klonech Debianu (např. Ubuntu).

Pozn.: moderní prohlížeč = např. Mozilla Firefox, Google Chrome v nejnovější verzi

Prerekvizity

Je nutné mít v Debianu nainstalované balíky npm a g++, bez kterých následující postup nebude fungovat:

aptitude install npm g++

Balík npm se ovšem nachází až ve verzi sid (aktuálně unstable větev). Dá se to vyřešit dočasným přidáním unstable větve do repozitáře. Stačí na konec souboru /etc/apt/sources.list přidat řádek:

deb http://ftp.cz.debian.org/debian/ sid main

aktualizovat databázi balíků:

aptitude update

nainstalovat balík npm:

aptitude install npm

a přidaný řádek do souboru /etc/apt/sources.list zase odstranit a znovu updatovat databázi balíků:

aptitude update

Postup

Stáhněte si zdrojové kódy z GitHubu a přejděte do nově vytvořeného adresáře:

git clone git://github.com/mozilla/BrowserQuest.git
cd BrowserQuest

nainstalujte balíčky pro node:

npm install underscore log bison websocket websocket-server sanitizer memcache

v případě potřeby upravte nastavení serveru v souboru server/config.json (počet světů, maximum hráčů atd.) a spusťte server příkazem:

node server/js/main.js

Přejděte do složky client/config, rozkopírujte soubor config_local.json-dist do souborů config_local.json a config_build.json:

cd client/config
cp config_local.json-dist config_local.json
cp config_local.json-dist config_build.json

a oba upravte dle potřeby. Obsah obou souborů musí být stejný. Nastavujete v nich informace o tom, kde běží server, který jste v předchozích krocích spustili. V mém případě běží na lokálním serveru (localhost) na portu 8000:

{
    "host": "localhost",
    "port": 8000,
    "dispatcher": false
}

Nakonec se vrátíme o úroveň výše a zkopírujeme složku se sdílenými soubory do složky client:

cd ..
cp -r ../shared/ .

Poté stačí jen spustit jakýkoliv webserver nad složkou client a můžete začít hrát:

python -m SimpleHTTPServer 8080

(v prohlížeči by se pak po zadání adresy http://localhost:8080 měla zobrazit úvodní obrazovka hry)

Bližší informace můžete najít v souborech README.md.

Odkazy

Zdroje

3. června 2012 v 16.08 – Software – zobrazeno: 21597x – komentáře: 4

Komentáře

#1 Carl114 22. července 2012 v 21:30:08 řekl(a):

Problém je, že je to jen ukázka, co prohlížeč dovede a tak je hra krátká. Člověk je nadšený a za týden si už nevzpomene. Proto si myslím, že server nemá význam. Pamatuji jak na serverech bylo 1200 lidí a teď sotva 10.

Ale bylo by zajímavé zkusit udělat nějakou MMORPG hru přes prohlížeč. Bez nějakých dalších pluginů samozřejmě… :)

tomas.erlich@gmail.comhttp://tomaserlich.cz/

#2 ondrg 22. července 2012 v 21:41:38 řekl(a):

Carl114: S tím serverem máš pravdu, zkoušel jsem ho rozchodit spíše ze zvědavosti a napadlo mě se s tím rozdělit, jelikož moc ucelených návodů jsem nenašel.

Třeba bude tento návod ještě k něčemu užitečný, pokud takových her vyjde více, pokud jejich konfigurace bude alespoň trochu podobná :-)

ondra.gersl@seznam.czhttp://itty.cz

#3 Carl114 23. července 2012 v 19:03:03 řekl(a):

Jako návod určitě přijde vhod. Já s tímhle vůbec neumím a netuším kde bych co měl zadávat. Jediné hry, které jsem rozjížděl tak běželi na MySQL (a to je jednoduché) či na systému od Microsoftu. Takže jsem spustil databázi, aplikaci, nastavil pár parametrů a vše běželo. Proč to nejde tak snadno i tady?

tomas.erlich@gmail.comhttp://tomaserlich.cz/

#4 ondrg 24. července 2012 v 17:06:16 řekl(a):

Carl114: Ono to tak složité není. V podstatě stačí jen správně nakonfigurovat serverovou a klientskou část u BrowserQuestu (zkopírování a upravení konfiguračního souboru) a spustit nad tím libovolný web server (apache, lighttpd, nginx či třeba ten Python web server, který bych ale doporučoval spíše pro testování). To všechno okolo je jen zprovozňování aplikací a utilit, bez kterých to nebude fungovat.

ondra.gersl@seznam.czhttp://itty.cz

Co Vy na to?






(CC) 2008-2017 Ondra „ondrg“ Geršl (v. 0.2.3 – changelog) [poděkování] [licence]

Vypnout CSS — Validovat HTML (W3C) — Validovat CSS

Jste připojeni přes IPv4 :-( Vaše IP adresa je: 54.146.28.90
IP adresa serveru je: 77.93.223.210