This is a documentation for Board Game Arena: play board games online !

Тоолс анд типс оф БГА Студио

Извор: Board Game Arena
Пређи на навигацију Пређи на претрагу

Сервер Тоолс анд Типс

Стартинг а гаме ин оне цлицк

То старт а гаме:

  • Цреате а не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


Десктоп анд Wеб Тоолс

Цоде Едиторс анд ИДЕс

Ецлипсе Фор ПХП Девелоперс

Ецлипсе ПХП пацкаге цан бе стартинг поинт фор девелопмент 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нц

Филе С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 -delay 1 -rsync $LOCAL/$GAME/ $REMOTE/$GAME

Тхис цан бе абле рун он стартуп, со yоу дон'т хаве то до анyтхинг мануаллy. Хоwевер ссхфс ис нот верy стабле yоу хаве то килл анд рестарт ит сометимес. Анд ремоте гоес аwаy сометимес дуе то цоннецтион иссуес wитх студио. Ин тхис цасе итс хандy то хаве а лоцал цопy, wхицх ис wхат лсyнцд фор.

Yоу цан алсо сyнц он деманд (фром а буилд сцрипт ор едитор цомманд) усинг

rsync -vlrt $LOCAL/$GAME/ $REMOTE/$GAME

Дебуггерс

Броwсер ис тхе бест тоол фор ЈС/ХТМЛ5 дебуггинг, сее Працтицал дебуггинг фор детаилс.

Версион Цонтрол

Студио провидерс свн фор yоу цоде он сервер, тхере аре соме лимитед абилитиес тхере то сее хисторy анд ресторе. I рецомменд то кееп yоур цоде ин анотхер репоситорy. I суггест то усе гит wитх лоцал репо, wхицх yоу цан сyнц то цлоуд ор бацкуп. Отхер оптион ис то хост соурце цоде он гитхуб, иф yоу до усе тхис цонвентион гитхуб.цом/<yоурнаме>/бга-<yоургаме>. Ин суцх цасе маке суре yоу дон'т пост хигх-рес публисхер грапхицс онлy wеб ресоурцес, анд пост а сепарате лиценсе фор грапхицс филес.

ПХП CLI

Итс хандy то хаве пхп цли (цомманд лине) тоолс инсталл то рун пхп лоцаллy, со yоу цан тест соме стуфф wитхоут деплоyмент цyцле, ор цреате соме сцриптс тхат генерате цоде ор маркуп.

Имаге Манипулатион

ИмагеМагицк

Хандy сет оф имаге манипулатион цомманд лине тоолс, усефул то фор еxампле то ститцх тогетхер бунцх оф имагес анд ре-сизе, то усе ас сприте (ин Стоцк цомпонент фор еxампле). I.е. yоу гот а грапхицс филе фром публисхер wхере еверy тиле ис 600x600 ПНГ филе ин сепарате филе. Yоу wант .јпг инстеад оф .пнг то маке ит нот лике 20Мб, анд цомбине алл имагес ин оне цолумн анд ре-сизе то 128x128:

(Линуx еxампле)

/usr/bin/montage  `ls Tiles*.png` -tile 1 -geometry 128x128+0+0 out/tiles128.jpg

https://www.imagemagick.org/script/download.php

Гимп

ГУИ тоол, верy цомплеx бут wилл до АЛЛ wхат yоу поссиблy неед то до wитх гаме грапхицс

https://www.gimp.org/

Схринкинг

Схринк имагес wитхоут лосс оф qуалитy https://tinypng.com/ ор http://www.iloveimg.com/

ПДФ Сцраббер

ПДФ Сцрапер - еxтрацт имагес фром ПДФ филе (и.е. гаме рулебоок) - http://www.extractpdf.com/

Ренаме/Цопy пројецт

Тхере ис а сцрипт аваилабле ин схаредцоде пројецт то до тхе ренаминг wхицх цан бе цаллед ин цомманд лине иф yоу хаве пхп цомманд лине инсталлед. Yоу неед то хаве пхп цлт (цомманд лине интерфаце) инсталлед, тхен yоу цан доwнлоад сцрипт анд рун ит.

https://github.com/elaskavaia/bga-sharedcode/blob/master/tools/bgaprojectrename.php

Усаге:

php bgaprojectrename.php <originalProjectPath> <copyOfProjectRenamedPath>

Еxампле он хоw то цалл ит ин цомманд лине иф yоу пројецт наме ис "хеартсмyпројецт"

php7.0 git/bga-sharedcode/tools/bgaprojectrename.php remote/hearts/ remote/heartsmyproject/

БГА Wоркбенцх

ПХП либрарy провидинг тоолс то хелп манаге БГА Студио пројецтс инцлудинг деплоyмент анд тест утилитиес. https://github.com/danielholmes/bga-workbench

Цлиент Типс

Спеед уп гаме ре-лоадинг б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плоред алл оф тхем)

Спеед уп ЦСС девелопмент анд лаyоут

Сyнцинг филес то сервер анд рефресхинг ис релативе фаст бут стилл цан таке уп то 20 сецондс wхицх ис анноyинг. Иф yоу wоркинг а лот он цсс/имагес/лаyоут yоу цан спеед ит уп бy цопинг хтмл ин соме стате оф тхе гаме то yоур лоцал фолдер. I.е. ин yоур пројецт фолдер цреате дирецторy мисц/ анд саве yоур хтмл ас мисц/тест.хтмл анд цхангинг патх то цсс то лоад фром лоцал диск (анд ит wилл лоад yоур имагес то фром лоцал диск ас wелл). I.е. финд сометхинг лике

 <линк рел="стyлесхеет" тyпе="теxт/цсс" хреф="http://1.studio.boardgamearena.com:8081/data/themereleases/151226-1240/games/mygame/999999-9999/mygame.css"/>

анд реплаце wитх

  <link rel="stylesheet" type="text/css" href="../mygame.css"/>

Yоу пројецт струцтуре wилл лоок лике тхис

mygame
  img/ <-- your images
  mygame.css  <-- your original css
  ...
  misc/
    test.html <-- your test html

Ит ис а бит трицкy то саве хтмл еxацт стате, иф yоу до саве ас ит алсо пуллс алл ресоурцес сометимес.