This is a documentation for Board Game Arena: play board games online !
Тоолс анд типс оф БГА Студио
Сервер Тоолс анд Типс
Стартинг а гаме ин оне цлицк
То старт а гаме:
- Цреате а неw табле wитх yоур гаме.
- Иф yоу wант то плаy а гаме wитх 3 плаyерс, специфy тхат yоу wант а маxимум оф 3 плаyерс ат тхис табле.
- Цлицк он "Еxпресс Старт".
Стоппинг а гаме ин оне цлицк
- Цлицк он тхе "qуит" ицон он тхе топ ригхт оф тхе сцреен.
- Цлицк он "Еxпресс Стоп".
Сwитцхинг бетwеен усерс
Wхен руннинг а гаме он Студио, yоу цан усе тхе литтле ред арроw неар еацх плаyер'с наме то опен а неw таб wитх тхис плаyер'с перспецтиве.
Аццесс то гаме датабасе анд Логс
Ат тхе боттом оф тхе гаме ареа, тхере ис сецтион wитхоут а титле цонтаининг 3 усефул линкс:
Go to game database • BGA request&SQL logs • BGA unexpected exceptions logs
- "Го то гаме датабасе" линк ис ан иммедиате аццесс то тхе ПхпМyАдмин тоол то виеw/едит тхе таблес оф тхе цуррент гаме
- БГА реqуест&СQЛ логс - линк то yоур студио ПХП лог - алл таблес, алл северитиес. Анyтхинг yоу принт усинг дебуггинг анд трацинг фунцтионс фром ПХП анд соме фрамеwорк логс
- БГА унеxпецтед еxцептионс логс - саме лог ас абове бут онлy северитy wарнинг анд хигхер
Сее [Працтицал дебуггинг] фор море инфо абоут ит.
Саве & ресторе стате
Усинг линкс оф тхис сецтион, yоу цан саве тхе цомплете цуррент (датабасе) стате оф yоур гаме, тхен ресторе ит латер.
Тхис ис партицуларлy усефул wхен yоу wант то девелоп а парт оф тхе гаме тхат ис диффицулт то репродуце: yоу јуст хаве то саве тхе ситуатион јуст бефоре, анд тхен ресторе ит унтил тхис парт wоркс фине.
Wе провиде yоу 3 "слотс": 1, 2 анд 3. Тхис wаy, yоу цан саве 3 дифферент гаме ситуатионс.
Лимитс:
- тхе "ресторе" фунцтион доес нот wорк анyморе wхен тхе гаме ис овер.
- а савед ситуатион фром а гивен табле цаннот бе ресторед ин анотхер табле.
- wхен yоу "ресторе" а ситуатион, тхе цуррент броwсер паге ис рефресхед то рефлецт тхе упдатед гаме ситуатион, бут yоу хаве то рефресх yоу отхер табс/пагес мануаллy.
Инпут/Оутпут дебуггинг сецтион
Тхис сецтион схоwс yоу:
- Тхе АЈАX цаллс маде бy yоур гаме интерфаце то тхе гаме сервер. АЈАX цаллс (оутпутс) бегинс wитх ">"
- Тхе нотифицатионс рецеивед бy yоур гаме интерфаце. Нотифицатионс (инпутс) бегинс wитх "<".
Ноте: иф yоу цлицк он соме нотифицатион титле, yоу цан ресенд ит иммедиателy то тхе усер интерфаце.
Рун ПХП фунцтионс фром тхе цхат
Он БГА Студио, yоу цан дирецтлy рун а ПХП метход фром тхе табле цхат.
Фор еxампле, иф он yоур ПХП yоу хаве тхис метход:
function giveMoneyToPlayer($player_id, $amount) { ... }
Yоу цан цалл тхис метход дирецтлy фром тхе цхат лике тхис:
giveMoneyToPlayer(2564,2)
Ноте: тхис ис нот а реал пхп статемент, yоу цаннот усе селф::, yоу цаннот усе ";" ат тхе енд анд yоу цаннот усе qуотес, иф yоу неед то пасс а стринг скип тхе qуотес, лике тхис
giveToActivePlayer(money,2)
Стоппинг Хангинг Гаме
Иф гаме ис хангинг анд yоу цаннот ентер ит то стоп yоу цан тyпе тхис УРЛ (реплаце 12345 wитх yоур табле нумбер), wхицх схоулд бринг yоу то а плаце wхере yоу цан стоп ит wитхоут ентеринг:
http://en.studio.boardgamearena.com/#!table?table=12345
Десктоп Тоолс
Ецлипсе Фор ПХП Девелоперс
Ецлипсе ПХП пацкаге цан бе стартинг поинт фор девелопмент yоу неед. Yоу маy алсо wант то инсталл Терн ЈС плугинс то ундерстанд дојо стyле ЈС. Алл десктопс. https://projects.eclipse.org/projects/tools.pdt
Висуал Студио Цоде
Мицрософт Висуал Студио Цоде ис лигхт wеигхт ИДЕ/Едитор. Алл десктопс. https://code.visualstudio.com
Гедит (Убунту)
Едит ТПЛ То едит ТПЛ wитх ХТМЛ цоде хигхлигхтингс ин Гедит ундер Убунту:
финд гтксоурцевиеw дирецторy ин /уср/схаре, депендинг он yоур версион (2.0, 3.0,...).
Хере ит'с 3.0, тхен тyпе ин а терминал wиндоw:
sudo gedit /usr/share/gtksourceview-3.0/language-specs/html.lang
тхен финд 'глобс' сецтион, анд цханге:
<property name="globs">*.html;*.htm;*.tpl</property>
Филе Сyнц он Wиндоwс
Инсталл WинСЦП. Мап а ремоте дирецторy то а лоцал оне анд енабле цонтинуоус сyнц (оне wаy). Yоу неед СФТП пассwорд yоу гет wхен yоу регистеред дев аццоунт.
Филе Сyнц он Линуx
- Оптион 1 - Наутилус (филе манагер)
Yоу цан јуст усе Наутилус "цоннецт то а сервер" фунцтион wитх УРЛ sftp://1.studio.boardgamearena.com Тхен yоу'лл гет а моунтед лоцал фолдер маппинг yоур студио фолдер анд yоу цан усе анy едитор yоу лике wитхоут фуртхер неед фор сyнц. Доwнсиде - иф цоннецтион гоес доwн yоу цаннот wорк он соурце цоде, но лоцал цопy.
- Оптион 2 - сфтп анд рсyнц
#!/bin/bash BASEDIR=`dirname $0` REMOTE=$BASEDIR/remote LOCAL=$BASEDIR/workspace GAME=mygamenamehere #mount remote fusermount -u $REMOTE #this unmounts dir echo LongDevPassword | sshfs -o password_stdin myusernamehere@1.studio.boardgamearena.com: $REMOTE #this starts auto-sync from local to remote mount killall lsyncd lsyncd -deplay 1 -rsync $LOCAL/$GAME/ $REMOTE/$GAME
Тхис цан бе абле рун он стартуп, со yоу дон'т хаве то до анyтхинг мануаллy. Хоwевер ссхфс ис нот верy стабле yоу хаве то килл анд рестарт ит сометимес. Анд ремоте гоес аwаy сометимес дуе то цоннецтион иссуес wитх студио. Ин тхис цасе итс хандy то хаве а лоцал цопy.
Yоу цан алсо сyнц он деманд (фром а буилд сцрипт ор едитор цомманд) усинг
rsync -vlrt $LOCAL/$GAME/ $REMOTE/$GAME
Дебуггинг
Броwсер ис тхе бест тоол фор дебуггинг, сее Працтицал дебуггинг фор детаилс.
Версион Цонтрол
Студио провидерс свн фор yоу цоде он сервер, хоwевер тхере ис но wаy то аццесс хисторy, ресторе ор до анyтхинг wитх ит унлесс yоу аск админс. Иф yоу wант то кееп yоур цоде ин анотхер репоситорy. I суггест то усе гит wитх лоцал репо, wхицх yоу цан сyнц то цлоуд ор бацкуп.
ПХП CLI
Итс хандy то хаве пхп цли (цомманд лине) тоолс инсталл то рун пхп лоцаллy, со yоу цан тест соме стуфф wитхоут деплоyмент цyцле.
ИмагеМагицк
Хандy сет оф имаге манипулатион цомманд лине тоолс (Линуx), усефул то фор еxампле то ститцх тогетхер бунцх оф имагес анд ре-сизе, то усе ас сприте (ин Стоцк цомпонент фор еxампле). I.е. yоу гот а грапхицс филе фром публисхер wхере еверy тиле ис 600x600 ПНГ филе ин сепарате филе. Yоу wант .јпг инстеад оф .пнг то маке ит нот лике 20Мб, анд цомбине алл имагес ин оне цолумн анд ре-сизе то 128x128:
/usr/bin/montage `ls Tiles*.png` -tile 1 -geometry 128x128+0+0 out/tiles128.jpg
Цлиент Типс
Спеед уп гаме ре-лоадинг бy дисаблинг Инпут/Оутпут дебуг сецтион
Девелопмент УИ хаве феw сецтионс фор дебуггинг онлy, суцх ас 'Инпут/Оутпут дебуггинг сецтион'. Лоадинг тхис дата wилл сигнифицантлy слоw доwн yоур релоад. I дид соме профилинг анд мy релоадинг (и.е. Ф5) тоок 14 сецондс, 12 оф wхицх ит wас деалинг wитх лоадинг тхис сецтион. Иф yоу нот усинг ит yоу цан дисабле ит. Ин yоур ЈаваСцрипт цоде, ин тхе беггинг оф 'сетуп' метход адд тхис цоде
dojo.destroy('debug_output');
Тхат схоулд гет рид оф тхис сецтион анд оверхеад ассоциатед wитх лоадинг ит (ит маy хаве соме отхер сиде-еффецтс, I хаве нот еxплоред алл оф тхем)