-
Notifications
You must be signed in to change notification settings - Fork 2
/
README.html
3523 lines (3482 loc) · 250 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>「どどんとふ」マニュアル</title>
</head>
<body>
<h1 id="manualTitle">「どどんとふ」マニュアル</h1>
<!-- <p align="right">d(odonto)f - a tool of online session..</p> -->
<p align="right">ALL YOU NEED IS THIS, on online TRPG session.</p>
<p align="right">presented by たいたい竹流(taitai takeru) from <a href="http://www.dodontof.com">http://www.dodontof.com</a><br>-- modified BSD licenses
</p>
<hr/>
<br/>
<p><b id="forBegining">【注:どどんとふを初めて使う方へ】</b></p>
どどんとふはWEBツールですので、<b>使用するためにダウンロードは必要ありません</b>。<br/>
<a href="http://www.dodontof.com/">「どどんとふ@えくすとり〜む」TOPページ</a>から<br/>
<br/>
<img src="./image/transparent.gif" height="20" width="16" align="left"/>
<img src="./image/clover.gif" align="left"/>
<img src="./image/transparent.gif" height="20" width="16" align="left"/>
クローバーのアイコンを選択して、好きなどどんとふサーバを開いて下さい。<br/>
それだけで どどんとふを動かすことが出来ます<br/>
<br/>
<br/><hr/><br/>
<h2 id="howtobook">どどんとふ解説書</h2>
<p align="left">
どどんとふの使用方法については<br>
<!-- howtoBookUrl --> <a href="http://www.melonbooks.com/index.php?main_page=maker_affiliate_go&affiliate_id=AF0000023933">
<img src="./image/DManual201308.jpg" /><br>
こちらの解説書を参照下さい。</a><br>
</p>
<br/><hr/><br/>
<p>
このマニュアルではどどんとふの<a href="#howToSetting">自前サーバの設置方法</a>や技術的な観点について記載しています。</br>
</p>
<br/><hr/><br/>
<p>
<h2 id="index">目次</h2>
<!-- INDEX-AREA --><ul><font size='4'><li><a href='#howtobook'>どどんとふ解説書</a></li></font><font size='4'><li><a href='#aboutDodontoF'>「どどんとふ」って何?</a></li></font><font size='4'><li><a href='#execteEnviroment'>実行環境</a></li></font><font size='4'><li><a href='#howToUse'>使用方法</a></li></font><font size='4'><li><a href='#howToSetting'>設置方法</a></li></font><ul><font size='3'><li><a href='#cgiServerSetting'>CGIサーバの用意</a></li></font><ul><font size='2'><li><a href='#cgiServerSettingOnCommonRentalServer'>レンタルサーバを用意する場合の注意事項</a></li></font><font size='2'><li><a href='#cgiServerSettingOnSakuraVPS'>さくらVPSを使用する場合</a></li></font></ul><font size='3'><li><a href='#forOwnServerAdmin'>自前サーバ運営者へのアドバイス</a></li></font><font size='3'><li><a href='#download'>実行ファイル一式のダウンロード</a></li></font><font size='3'><li><a href='#dodontoFSettingMySQL'>設置方法その2:MySQLサーバ編</a></li></font><font size='3'><li><a href='#howToCheckSetting'>動作確認方法</a></li></font><font size='3'><li><a href='#othersSetting'>お知らせメッセージの変更</a></li></font><font size='3'><li><a href='#howToVersionUp'>バージョンアップ方法</a></li></font></ul><font size='4'><li><a href='#forDevelopment'>開発向けの詳細</a></li></font><ul><font size='3'><li><a href='#aboutCompile'>コンパイル方法について</a></li></font><font size='3'><li><a href='#aboutCompileInWindows'>Windowsでのコンパイル方法</a></li></font><font size='3'><li><a href='#aboutDiceBot'>ダイスボットの実装について</a></li></font></ul><font size='4'><li><a href='#aboutWebIf'>WEB IFについて</a></li></font><ul><font size='3'><li><a href='#whatIsWebIf'>WEB IFとは?</a></li></font><font size='3'><li><a href='#webIfBasicFormat'>基本フォーマット</a></li></font><font size='3'><li><a href='#webIf_getBusyInfo'>getBusyInfo:サーバ負荷情報の取得</a></li></font><font size='3'><li><a href='#webIf_getServerInfo'>getServerInfo:サーバの各種情報取得</a></li></font><font size='3'><li><a href='#webIf_getRoomList'>getRoomList:部屋情報一覧の取得</a></li></font><font size='3'><li><a href='#webIf_getLoginInfo'>getLoginInfo:初期ログイン用データ取得</a></li></font><font size='3'><li><a href='#webIf_getLoginUserInfo'>getLoginUserInfo:ログインユーザーの情報取得・更新</a></li></font><font size='3'><li><a href='#webIf_chat'>chat:チャットデータの取得</a></li></font><font size='3'><li><a href='#webIf_talk'>talk:チャットへの発言</a></li></font><font size='3'><li><a href='#webIf_getChatColor'>getChatColor:文字色取得</a></li></font><font size='3'><li><a href='#webIf_addCharacter'>addCharacter:キャラクター追加</a></li></font><font size='3'><li><a href='#webIf_changeCharacter'>changeCharacter:キャラクターの変更</a></li></font><font size='3'><li><a href='#webIf_getRoomInfo'>getRoomInfo:プレイルーム情報取得</a></li></font><font size='3'><li><a href='#webIf_setRoomInfo'>setRoomInfo:プレイルームの情報設定</a></li></font><font size='3'><li><a href='#webIf_addMemo'>addMemo:共有メモ追加</a></li></font><font size='3'><li><a href='#webIf_refresh'>refresh:各種情報取得</a></li></font></ul><font size='4'><li><a href='#aboutLicense'>ライセンスについて</a></li></font><ul><font size='3'><li><a href='#fileConstraction'>ファイル構成</a></li></font><font size='3'><li><a href='#aboutLibrary'>ライブラリ・画像データ等について</a></li></font><ul><font size='2'><li><a href='#characterImage'>キャラクター画像</a></li></font><font size='2'><li><a href='#imageUploadSpace'>立ち絵画像</a></li></font><font size='2'><li><a href='#tubeloc'>tubeloc</a></li></font><font size='2'><li><a href='#Hi-ReS-Stats'>Hi-ReS-Stats</a></li></font><font size='2'><li><a href='#corelib'>corelib</a></li></font><font size='2'><li><a href='#Archive::Tar::Minitar'>Archive::Tar::Minitar</a></li></font><font size='2'><li><a href='#as3-msgpack'>as3-msgpack</a></li></font><font size='2'><li><a href='#msgpack-pure'>msgpack-pure</a></li></font><font size='2'><li><a href='#msgpack-pure-ruby'>msgpack-pure-ruby</a></li></font><font size='2'><li><a href='#icons'>各種アイコン用画像集</a></li></font><font size='2'><li><a href='#standingGraphics'>サンプル用立ち絵</a></li></font><font size='2'><li><a href='#jsonPerser'>jsonParser.rb</a></li></font><font size='2'><li><a href='#otherLibrary'>その他</a></li></font></ul></ul><font size='4'><li><a href='#others'>その他</a></li></font><ul><font size='3'><li><a href='#aboutNaming'>名前の由来について</a></li></font></ul><font size='4'><li><a href='#caution'>注意事項</a></li></font><font size='4'><li><a href='#history'>履歴</a></li></font>
</p>
<h2 id="aboutDodontoF">「どどんとふ」って何?</h2>
「どどんとふ」はTRPGのオンラインセッションをお手軽&楽しく遊ぶために作られたツールです。<br>
ブラウザだけで全ての操作が可能。<br>
マップ表示もキャラクター配置もチャットもイニシアティブ管理も、さらには動画や音楽の共有まで楽しめます。<br>
OSをほとんど気にせず動作します。WindowsでもMacでもUNIXでもOK。<br>
<br>
マップは四角形で区切られたいわゆる「スクウェアマップ」タイプです。D&D4版などが代表例ですね。<br>
とりあえず使ってみたい人は冒頭の<a href="#forBegining">【注:どどんとふを初めて使う方へ】</a>と「<a href="#howtobook">どどんとふ解説書</a>」を確認ください。<br>
<br>
自分で「どどんとふ」を設置してみたい!と思った方は「<a href="#howToSetting">設置方法</a>」を参照してください。<br>
<br>
<h2 id="execteEnviroment">実行環境</h2>
「どどんとふ」を使用するには、インターネットに接続可能なPCとブラウザ、そしてブラウザへのAdobe Flash Playerのインストールが必須になります。<br>
Windows版だと下記が最新のはず。<br>
<a href="http://www.adobe.com/shockwave/download/index.cgi?Lang=Japanese&P1_Prod_Version=ShockwaveFlash">http://www.adobe.com/shockwave/download/index.cgi?Lang=Japanese&P1_Prod_Version=ShockwaveFlash</a><br>
Flashって何?という方はすでに入っている可能性もありますので、<br>
とりあえず「どどんとふ」のトップページ<br>
<a href="http://www.dodontof.com/DodontoF/DodontoF.swf">http://www.dodontof.com/DodontoF/DodontoF.swf</a><br>
にアクセスしてみてください。<br>
何も画面が表示されないなど不具合があった場合に上記のリンクからFlash Playerをインストールして再度接続してみてください。<br>
<br>
<h2 id="howToUse">使用方法</h2>
<a href="#howtobook">使用方法の詳細については、どどんとふ解説書を参照下さい</a>。</br>
<br>
<br><hr />
<h2 id="howToSetting">設置方法</h2>
「どどんとふ」は公開されているサーバを使う事で誰でも利用が可能ですが、<br>
大抵の場合、公開サーバは多数の人が使用しているため重いです。<br>
この対策として、自分たち専用のサーバを用意することで快適な環境を作製する事ができます。<br>
<b>定期的にオンセを実施する方は自前サーバの設置を検討してください。 是 非 。</b><br>
<br>
<br>
<font size= "5"> <a href="http://www.dodontof.com/Download/howToInstall/index.html">サ ー バ の 設 置 手 順 は こ ち ら</a></font>
<br>
<br>
上記の手順が一番分かりやすいですが、それ以外の場所や方法でサーバを設置したい方や詳細な手順については以下を参照ください。<br>
<br>
<h3 id="cgiServerSetting">CGIサーバの用意</h3>
まず、Rubyの動くCGIサーバが必要です。<br>
<br>
<h4 id="cgiServerSettingOnCommonRentalServer">レンタルサーバを用意する場合の注意事項</h4>
レンタルサーバーを使用する場合、そのレンタルサーバがCGIチャットの設置を許容しているかの確認が必要です。<br>
以下、どどんとふに利用可能なレンタルサーバ、利用不可なレンタルサーバについて。<br>
<br>
<b>○利用可能なレンタルサーバ</b><br>
<ul>
<li><a href="http://www.sakura.ad.jp/">さくらインターネット</a>(<a href="http://sakura.cb-faq.com/faq/public/app/servlet/qadoc?QID=000487">参照</a>)7人程度までは負荷に問題なし。</li>
<li><a href="http://www.xserver.ne.jp/">エックスサーバー</a>(<a href="http://dfes.blog129.fc2.com/blog-entry-80.html">参照</a>:10人未満での運用は問題なし。負荷が高すぎる場合は運営から通達があります)</li>
<li><a href="http://www.extrem.jp/">エクストリムレンタルサーバー</a>(<a href="http://www.vampire-blood.net/1165.html">参照</a>:年齢制限を要するR指定ゲームの禁止。負荷が極端に高い場合はアカウントが停止される場合もあります。)</li>
<!--
<li><a href="http://www.onamae-server.com/">お名前.com</a>(<a href="http://help.onamae.com/app/answers/detail/a_id/9368/kw/%E8%A8%AD%E7%BD%AE%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84CGI%E7%AD%89%E3%80%81%E3%82%B5%E3%83%BC%E3%83%90%E5%88%A9%E7%94%A8%E6%99%82%E3%81%AE%E5%88%B6%E9%99%90%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F">参照</a>)7人程度までは負荷に問題なし?</li>
-->
<br>
</ul>
<b>×利用不可なレンタルサーバ</b><br>
<ul>
<li><a href="http://land.to/">land.to</a>(<a href="http://www.land.to/kiyaku_m.php">参照</a>)</li>
<li><a href="http://moover.jp/">Mover(<a href="http://moover.jp/faq/view_faq.php">参照</a>)</li>
<li><a href="http://www.wisnet.ne.jp/">WISNET</a>(Rubyが無いため動作不可)</li>
<li><a href="http://www.fsv.jp/">ファーストサーバー</a>(Rubyが無いため動作不可)</li>
<li><a href="http://atpages.jp/">@PAGES</a>(CGIに制限が掛かったりと問題が多発したため非推奨)</li>
</ul>
<br>
利用不可なサーバに現状で設置されている方は移設をお願いいたします。<br>
<br>
<br>
<h4 id="cgiServerSettingOnSakuraVPS">さくらVPSを使用する場合</h4>
さくらVPSを使用する場合は
<a href="./howToSetupOnSakuraVPS.html">どどんとふ設置メモ (さくらVPS Ubuntu10.04)</a><br>
を参照ください。
<br>
<br>
どどんとふではこれらのレンタルサーバを借りてのCGI設置を大前提としています。<br>
<br>
もちろん、自分のPCをサーバにして開放することも出来ますが、それ相応の知識と手間、セキュリティー意識が必要となりますので、あくまで自己責任でお願いいたします。<br>
作者はサーバ側は詳しくないのでそこを質問されても回答できませんので。<br>
<br>
<br>
<h3 id="forOwnServerAdmin">自前サーバ運営者へのアドバイス</h3>
<br>
もしもレンタルサーバではなく自前でサーバを構築している場合は、<br>
gem install msgpack<br>
を行ったうえで、src_ruby/config.rb の $isMessagePackInstalled を true にすると処理精度の向上が期待できます。<br>
<br>
<br>
以下、外部のCGIサーバサービスを使用する場合についての設定手順解説を述べます。<br>
<br>
<h3 id="download">実行ファイル一式のダウンロード</h3>
「どどんとふ」本体を以下からダウンロードしてください。<br>
<a href="http://www.dodontof.com/ja/home/dodontofdownload.html">http://www.dodontof.com/ja/home/dodontofdownload.html</a><br>
慣れないうちは上記から「安定版」と書かれたバージョンを使用してください。
チャレンジャーな貴方は以下から「最新版」をご利用ください。<br>
<a href="http://www.dodontof.com/DodontoF/newestVersion.html">http://www.dodontof.com/DodontoF/newestVersion.html</a><br>
DodontoF_xx_xx_xx.zipを展開します。<br>
<br>
展開した中身が以下のようなディレクトリ構成になっていることを確認します。<br>
<br>
DodontoF_WebSet<br>
|<br>
+public_html<br>
| |<br>
| +DodontoF<br>
| |<br>
| +imageUploadSpace<br>
|<br>
+saveData<br>
<br>
構成を確認したらその中のファイル<br>
<br>
DodontoF_WebSet/public_html/DodontoF/DodontoFServer.rb<br>
<br>
の先頭行に Ruby へのパスを記載してください。<br>
パスの情報は使用するCGIサーバの指示に従ってください<br>
<ul>
<li>「さくらインターネット」なら「<a href="http://support.sakura.ad.jp/manual/rs/tech_cgi.html">2.2. プログラムのコマンドパス</a>」</li>
<li>「エックスサーバー」なら「<a href="http://www.xserver.ne.jp/man_program_cgi.php">CGI関連の仕様一覧</a>」</li>
<li>「エクストリムレンタルサーバー」なら「<a href="http://www.extrem.jp/guide_cgi.php">CGIのパス・パーミッションについて</a>」(perlのパスをrubyに読み替えて下さい)</li>
<!--<li>「お名前.com」なら「<a href="">CGIのパスを教えてください</a>」</li>-->
</ul>
を確認してください。<br>
#と言いつつ、上記レンタルサーバなら変更は不要です。<br>
<br>
このファイルは文字コードがUTF-8、改行コードはUNIX方式になります。<br>
このためサクラエディタ等のそれ相応のエディタで編集するよう、またパス編集時にRubyのスクリプトのコマンド引数を変更しないように注意してください。<br>
具体的には、デフォルトの<br>
<br>
#!/usr/local/bin/ruby -Ku<br>
<br>
を変更するのであれば、<br>
<br>
#!/usr/sbin/ruby -Ku<br>
<br>
のように -Ku は変えないでおいてください。<br>
<br>
パスの編集が完了したら、CGIサーバにファイルの転送を行います。<br>
注:ファイルの転送は必ず全ファイルともバイナリモードで行ってください。<br>
上述の文字コードの関係上、アスキーモードで転送してしまうとサーバの処理が失敗することになります。。<br>
WinddowsではFFFTPという転送ツールが実績もありお勧めです。「B」マークのアイコンを押してバイナリ転送してください。<br>
<br>
一般的にはCGIサーバのディレクトリは<br>
<br>
/ (<ルートディレクトリ<br>
|<br>
+public_html(<ディレクトリ。この下に公開用のファイルを置く)<br>
|<br>
+その他ディレクトリ<br>
<br>
という構成になっています。<br>
<br>
# もしも使用しているサーバに pubilc_html が存在しない場合は…<br>
# しょうがないのでCGIサーバのどこかに DodontoF_WebSet をそのままゴロっと置いてください。<br>
# 例えば、 /anyDirecory の下におくとすれば<br>
# /anyDirecory<br>
# |<br>
# +DodontoF_WebSet<br>
# |<br>
# +public_html<br>
# |<br>
# :<br>
# こんな感じですね。<br>
# 後は / を /anyDirecory と読み替えてください。<br>
<br>
<br>
構成を確認できたら、どどんとふ展開した時に出来る<br>
<br>
DodontoF_WebSet/public_html<br>
<br>
の中身を、CGIサーバの<br>
<br>
/public_html<br>
<br>
の下に転送してください。<br>
<br>
また、どどんとふ展開時の<br>
DodontoF_WebSet/saveData<br>
は、CGIサーバの public_html と同じ階層においてください。<br>
つまり、置いた後のCGIサーバの状態は<br>
<br>
/<br>
|<br>
+public_html<br>
| |<br>
| +DodontoF<br>
| |<br>
| +imageUploadSpace<br>
|<br>
+saveData<br>
<br>
になります。どどんとふ展開時の DodontoF_WebSet の中身をそのままCGIサーバに突っ込む感じですね。<br>
<br>
転送が完了したら、以下の記載のとおりファイル・ディレクトリの権限(属性)を変更します。<br>
<br>
/<br>
|<br>
+public_html<br>
| |<br>
| +DodontoF -> 705(実行権限あり)<br>
| | |<br>
| | +DodontoFServer.rb -> 700(実行権限あり)<br>
| | |<br>
| | +log.txt -> 600(書き込み権限あり)<br>
| | |<br>
| | +log.txt.0 -> 600(書き込み権限あり)<br>
| | |<br>
| | +saveDataTempSpace -> 705(実行権限あり)<br>
| | |<br>
| | +fileUploadSpace -> 705(実行権限あり)<br>
| | |<br>
| | +replayDataUploadSpace -> 705(実行権限あり)<br>
| |<br>
| +imageUploadSpace -> 705(実行権限あり)<br>
| |<br>
| +smallImages -> 705(実行権限あり)<br>
|<br>
+saveData -> 705(実行権限あり)<br>
<br>
<br>
上記の設定で大低のレンタルサーバの指定通りになると思います。<br>
参考までに、各レンタルサーバの設定については<br>
<ul>
<li>「さくらインターネット」なら「<a href="http://support.sakura.ad.jp/manual/rs/tech_cgi.html">2.1. ファイル、ディレクトリの設定</a>」</li>
<li>「エックスサーバー」なら「<a href="http://www.xserver.ne.jp/man_program_cgi.php">CGI関連の仕様一覧</a>」</li>
<li>「エクストリムレンタルサーバー」なら「<a href="http://www.extrem.jp/guide_cgi.php">CGIのパス・パーミッションについて</a>」
<!--<li>「お名前.com」なら「<a href=""></a>」</li>-->
</ul>
を参照下さい。<br>
<br>
以上で設置作業は完了です。<br>
<br>
<a href="#howToCheckSetting">動作確認</a>を行いましょう。
問題があるようであれば、もう一度設定を見直してみて下さい。<br>
<br>
<br>
また、余力があるようであれば<a href="#othersSetting">お知らせメッセージの変更</a>も行っておきましょう。<br>
自分専用スペースであることをアピールできるとステキですねっ!<br>
<br>
ここまで完了すれば運用環境は完了です。<br>
お疲れ様でした。<br>
<br>
<br>
よりコダワリの設定を行いたい方は次の項も確認ください。。<br>
<br>
<h3 id="dodontoFSettingMySQL">設置方法その2:MySQLサーバ編</h3>
次に、MySQLというデータベースを使用してセーブデータの管理を行う場合について。<br>
「MySQLって何?データベースって聞いたことあるようなないような」<br>
と言う方はググって調べるか、あるいは諦めましょう。<br>
<br>
この設定を行うと「どどんとふ」の動作が軽くなる場合があります。<br>
逆に言えば、軽くならない場合もあります。<br>
そもそも、設定しなくても従来通りに使用は可能ですのでそこまで問題にはなりません。<br>
<br>
ですので、初めてサーバを立てるのであればこの設定は無理して実施する必要はありません。<br>
判っている人が、より快適さを追求するのであれば、こちらにTryしましょう。<br>
そして不具合があるようなら戻しましょう。<br>
#遊べればいいんですよ遊べれば!<br>
<br>
<br>
では設定方法について。<br>
ファイル<br>
<br>
src_ruby/config.rb<br>
の
<pre><code>
#MySQLを使用する場合のDB設定。
$databaseHostName = "127.0.0.1"
$databaseName = "databaseName"
$databaseUserName = "user"
$databasePassword = "password"
</code></pre>
の部分を上から順番に接続先ホスト名、データベース名、DBユーザー名、DBパスワードに設定します。
接続先ホスト名はデフォルトの localhost で問題ないと思いますが、Windowsサーバの場合は 127.0.0.1 にする必要があります。<br>
その他の設定値も含めて、使用しているサーバの設定に従うようにして下さい。<br>
<br>
同様に、同じファイルの
<pre><code>
#セーブデータの管理方法(nil/"mysql")
$dbType = nil
</code></pre>
の部分を
<pre><code>
#セーブデータの管理方法(nil/"mysql")
$dbType = "mysql"
</code></pre>
に変更して下さい。<br>
<br>
以上で設置作業は完了です。<br>
<br>
<a href="#howToCheckSetting">動作確認</a>を行ってください。<br>
<br>
<br>
<h3 id="howToCheckSetting">動作確認方法</h3>
ブラウザをを立ち上げて、アップロードしたCGIサーバの<br>
DodontoFServer.rb<br>
を開いてください。<br>
設置が正しく行われている場合は、<br>
<br>
「どどんとふ」の動作環境は正常に起動しています。<br>
<br>
のメッセージが、あるいはMySQLの設定を行っている場合は<br>
<br>
「どどんとふ(MySQL)」の動作環境は正常に起動しています。<br>
<br>
のメッセージが画面に表示されます。<br>
表示されない場合は、 DodontoFServer.rb のファイル先頭のRubyのパス指定が間違っている可能性があります。<br>
「<a href='#howToSetting'>設置方法</a>」をよく読んでもう一度確認してみてください。<br>
<br>
メッセージ表示が確認できたら、次は<br>
DodontoF.swf<br>
を開いてください。<br>
「どどんとふ」のログイン画面が表示されれば成功です。<br>
<br>
<br>
<h3 id="othersSetting">お知らせメッセージの変更</h3>
ログイン画面にに表示される「お知らせ」は loginMessage.html を書き換えることで変更可能です。<br>
身内だけの使用なのか、他の人も使っていいのか、サーバのメンテナンス時期やサークルのPR等をここに記述するとわかりやすいでしょう。<br>
変更後にログイン画面を表示して内容を確認するのを忘れないようにね!<br>
<br>
以上で設置に必要な作業は完了です。<br>
お疲れ様でした。<br>
<br>
<br>
<h3 id="howToVersionUp">バージョンアップ方法</h3>
上記の手順をすべて実施した上で、最新版の「どどんとふ」へバージョンをあげる場合。<br>
<br>
構築済みの既存「どどんとふ」環境から<br>
/pubilc_html/DodontoF/src_ruby/config.rb<br>
だけを取り出しておきましょう。<br>
<br>
そしてここからがポイントなのですが、config.rbの中で書き換えている箇所を<br>
config_local.rb というファイルに別出ししましょう。<br>
(すでに config_local.rb ファイルを作ったことがある人はこの手順はパスして下さい。)<br>
<br>
注意点は config_local.rb の文字コードはUTF-8、改行コードはUNIX系のLF(つまり\nのみ)にするという事。<br>
多分何を言っているか分からない人が大半だと思いますので、<br>
既存の config.rb をコピーして、config_local.rb という名前にして、変更していない行を削る形でファイルを作成してやってください<br>
<br>
こんな感じです。<br>
<pre>
<code>
<i>###config_local.rb の記述例##</i>
#サーバにログインする事のできる限界人数。
$limitLoginCount = 10
#プレイルームの最大数
$saveDataMaxCount = 5
#チャットの過去ログ大量保管を許可するかの設定
$IS_SAVE_LONG_CHAT_LOG = false
</code>
</pre>
もう一度繰り返しますが、 config.rb をコピーして config_local.rb を作製してください。<br>
新規ファイルで作製して「上手く動かないよー」なんて言わないように。この点だけは要注意。<br>
<br>
作製できたら、config_local.rb を config.rb と同じく src_ruby ディレクトリに置きます。<br>
<br>
config_local.rb の設置ができたら、後は<br>
<a href="http://www.dodontof.com/ja/home/dodontofdownload.html">http://www.dodontof.com/ja/home/dodontofdownload.html</a><br>
からDodontoF.zip を入手し、圧縮ファイルを展開。<br>
展開した中身の<br>
<br>
DodontoF_WebSet/pubilc_html/DodontoF<br>
<br>
を既存環境の<br>
<br>
/pubilc_html/DodontoF<br>
<br>
にディレクトリ毎全て上書きを行ってください。<br>
<br>
後は<a href="#howToCheckSetting">動作確認方法</a>を参考に動作チェックを行ってください。<br>
<br>
以後、設定値を変更したい場合は config.rb ではなく config_local.rb を書き換えるようしてください。<br>
こうする事で展開した圧縮媒体を直接上書きするだけで設定を保持したままバージョンアップができるようになります。<br>
<br>
<br>
追記:<br>
MySQLデータベース機能はお試し版のため従来の機能と両立する方法もあります。<br>
その場合は、<br>
1.<br>
src_ruby/config.rbの$dbTypeを<br>
$dbType = nil<br>
に戻す。<br>
2.<br>
DodontoFServerMySql.rb<br>
に他の.rbファイルと同じように実行権限を与えて、Rubyへのファイルパスを先頭行に記述する。<br>
これで<br>
DodontoF.swf?mode=mysql<br>
にアクセスするとMySQL機能を使い、普通に<br>
DodontoF.swf<br>
にアクセスすると普段のファイル機能を使うようになります。<br>
<br>
<br>
<h2 id="forDevelopment">開発向けの詳細</h2>
<br>
以下はソースコードの中身に興味がある人用の情報です。<br>
単純に利用するだけであれば読まなくでも問題ありません。<br>
<br>
<h3 id="aboutCompile">コンパイル方法について</h3>
「どどんとふ」でコンパイルして作成する必要があるのはFlex(ActionScript)の生成ファイル<br>
DodontoF.swf<br>
のみです。<br>
以下、Windowsでのコンパイル方法について述べます。<br>
<br>
<h3 id="aboutCompileInWindows">Windowsでのコンパイル方法</h3>
コンパイルには<br>
<a href="http://sourceforge.net/adobe/flexsdk/wiki/Download%20Flex%203/">http://sourceforge.net/adobe/flexsdk/wiki/Download%20Flex%203/</a><br>
から 3.6.0.16995A の Adobe Flex SDK をダウンロードします。<br>
<!--
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4<br>
から Latest Milestone Release Builds の一番新しいリリースの Open Source Flex SDK をダウンロードします。<br>
-->
ダウンロードファイルを展開後、binディレクトリへパスを通しておきます。<br>
またJavaも必要なため、<br>
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u11-oth-JPR@CDS-CDS_Developer<br>
から「Java SE Development Kit 6u11」をダウンロードし、インストールしておきます。
その後、DodontoF/src_actionScript ディレクトリで以下を実行します。<br>
<br>
mxmlc.exe -target-player=10.0.12 -define=TEST::isTest,false -define=COMPILE::isReplayer,false -define=COMPILE::isMySql,false -include-libraries+=./corelib/bin/corelib.swc -o ../DodontoF.swf DodontoF.mxml
<br>
これで DodontoF.swf が作成されるはずです。<br>
作成された DodontoF.swf を DodontoF 直下に移動してください。<br>
<br>
コンパイル方法は以上です。<br>
<br>
上記以外はRubyのコードになりますのでファイルを直接編集してもらえれば反映されます。<br>
ソースコードの内、〜Testで終わるファイルはUnitTest用ですので通常の運用では変更する必要はありません。<br>
<br>
<h3 id="aboutDiceBot">ダイスボットの実装について</h3>
どどんとふには標準で大量のダイスボットが付いていますが、それでも不足していたり、新しい機能を追加したくなる場合があるでしょう。<br>
そんな場合にはRubyのスクリプトを書き換えることで対応が可能です。<br>
<br>
ダイスボット関連のソースコードは<br>
src_bcdice/diceBot/<br>
にありますので、新しく作製する場合は既存のコードを参考にしつつ、<br>
_Template.rb<br>
を雛形に名前を変えてして作製すると良いでしょう。<br>
<br>
<br>
ダイスボットを変更・作成したら動作確認用のテストデータを追加しましょう。<br>
テスト手作業で動作確認するよりも遙かに楽です。一度作ると使え回せる点もGood。<br>
テストの作り方については<a href="src_bcdice/test/README.html">src_bcdice/test/README.html</a>を参照してください。<br>
<br>
(注意:以前はここで createDiceInfos.rb というコマンドを叩きましたが、不要になりました。代わりに以下の手順が必要です。)<br>
<br>
ダイスボットのテスト確認ができたら、どどんとふで動かす最後の準備をしましょう。<br>
src_ruby/config.rb を開いて、$diceBotOrder に追加したいダイスボットの名前を追加します。<br>
ここに記載されていないダイスボットはどどんとふで選択できませんので注意してください。<br>
<br>
後は、どどんとふで正しく動くことを確認できたら完成です。<br>
<br>
完成したダイスボットは作者に送付するとどどんとふに取り込んでもらえるかもしれませんよ!<br>
送付時にはテストデータも添えて頂けるとモアベター。<br>
<br>
<br>
<h2 id="aboutWebIf">WEB IFについて</h2>
<h3 id="whatIsWebIf">WEB IFとは?</h3>
プログラマな人向けの機能の説明です。大半の方は読み飛ばしてOKです。<br>
<br>
WEB IF、いわゆるWEB APIですね。<br>
Google Maps APIやTwitterなどのWEBサービスで、特定のURLにパラメータを渡してデータを取得する手法とか聞いた事ありませんか?<br>
それがWEB API。<br>
どどんとふにはこの機能が実装されています。<br>
使用可能な機能とその使い方についてここで解説します。<br>
<br>
なお、具体的なWEB IFの実装例は まさしげさんさ作製されている以下のサイトが参考になるかと思います。<br>
http://character-sheets.appspot.com/sample/dodontofsample.html<br>
<br>
<h3 id="webIfBasicFormat">基本フォーマット</h3>
どどんとふのサイトは大抵は<br>
〜/DodontoF.swf<br>
というURLになっています。<br>
このURLを<br>
〜/DodontoFServer.rb<br>
とする<br>
と、CGIそのものに対してアクセスできます。<br>
通常は正常動作を示すメッセージが表示されますね。<br>
<br>
ここで<br>
DodontoFServer.rb?webif=(コマンド)&(パラメータ1)=(値1)&(パラメータ2)=(値2)&...<br>
というURLを指定することで、どどんとふサーバからのデータ取得や各種設定を行う事ができるわけです。<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=chat&room=0&password=himitsu&time=1339209851.85239<br>
<br>
webif=chat が指定しているWEB IFのコマンドで、上記の例では chat コマンドを指定し、その他パラメータを与えています。<br>
コマンド実行後の応答データは以下のようになります。<br>
<br>
応答データ例)<br>
{"result":"OK","chatMessageDataLog":[[1342087310.18487,{"senderName":"エルフ\t笑顔","uniqueId":"1339209851.85239\tD331AC4E-7935-553E-E958-7AA2F2CA5F82","color":"000000","channel":0,"message":"発言1"}],[1342087318.92488,{"senderName":"どどんとふ\t","uniqueId":"dummy","color":"00aa00","channel":0,"message":"「ゴスロリ娘」がログインしました。"}]]}<br>
<br>
応答書式はコマンド毎に異なりますが、基本フォーマットは<br>
・JSONフォーマットであること<br>
・コマンド実行の成否が "result"パラメータとして戻る。"OK"であれば成功。それ以外の場合は失敗理由が記載される。<br>
となります。<br>
<br>
以上が、WEB IFの基本的動作です。<br>
<br>
<br>
では、各種操作コマンドおよびパラメータに付いて<br>
<br>
<h3 id="webIf_getBusyInfo">getBusyInfo:サーバ負荷情報の取得</h3>
サーバの負荷およびバージョン情報一式を取得します。<br>
<br>
指定可能パラメータ:<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getBusyInfo&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"maxLoginCount":30,"result":"OK","loginCount":0,"version":"Ver.1.xx.xx(20xx/xx/xx)"});<br>
<br>
maxLoginCount:推奨最大ログイン人数<br>
loginCount:現在ログインしている人数(これが上記の最大人数を超えるとログイン画面に警告が表示されます)<br>
version:サーバで使用しているどどんとふのバージョン(リリース日)<br>
<br>
<br>
<h3 id="webIf_getServerInfo">getServerInfo:サーバの各種情報取得</h3>
サーバの各種情報を一括取得します。<br>
<br>
指定可能パラメータ:<br>
dice:trueならダイス情報を取得(省略時:false)<br>
card:trueならカード情報を取得(省略時:false)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getServerInfo&dice=true&card=true&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK","maxRoom":9,"isNeedCreatePassword":false,"diceBotInfos":[{"info":"...","gameType":"DiceBot","name":"ダイスボット(指定無し)","prefixs":["\\d+D\\d+",...]},...],"cardInfos":[{"title":"トランプ","type":"trump_swf"},...]});<br>
<br>
maxRoom:作製可能な最大部屋数<br>
isNeedCreatePassword:部屋作成時にパスワードが必要かのフラグ<br>
diceBotInfos:ダイスボットの詳細な情報(の配列)(dice=true指定時のみ)<br>
info:説明文<br>
gameType:ダイスボット識別名<br>
name:ダイスボットの日本語名<br>
prefixs:チャットでダイスロールか判定するための正規表現用プレフィックス文字列<br>
cardInfos:カードの詳細な情報(の配列)(card=true指定時のみ)<br>
title:カードの日本語名<br>
type:カードの識別名<br>
<br>
<br>
<h3 id="webIf_getRoomList">getRoomList:部屋情報一覧の取得</h3>
部屋の状態についての情報を一括取得します。<br>
<br>
指定可能パラメータ:<br>
minRoom:取得する最小部屋番号(省略時:0)<br>
maxRoom:取得する最大部屋番号(省略時:作製可能な最大部屋番号)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getRoomList&minRoom=3&maxRoom=5&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"playRoomStates":[{"loginUsers":[],"passwordLockState":false,"lastUpdateTime":"2011\/09\/05 13:32:58","index":" 3","playRoomName":"仮プレイルーム(削除可能)","canVisit":false,"gameType":"diceBot"},{"loginUsers":[],"passwordLockState":false,"lastUpdateTime":"2011\/09\/05 13:32:58","index":" 4","playRoomName":"TORG用の部屋","canVisit":false,"gameType":"TORG"},{"loginUsers":[],"passwordLockState":false,"lastUpdateTime":"","index":" 5","playRoomName":"(空き部屋)","canVisit":false,"gameType":""}],"result":"OK"});<br>
<br>
playRoomStates:各部屋の情報の配列。以下、その内容<br>
index:部屋番号<br>
playRoomName:部屋名<br>
lastUpdateTime:最終更新時間を示す文字列<br>
canVisit:見学の可否。true:見学許可、false:見学不可<br>
gameType:部屋で指定しているダイスボット識別名<br>
loginUsers:現在ログインしているユーザー名のリスト<br>
passwordLockState:パスワードの有無。true:パスワード有り、true:パスワード無し<br>
<br>
<br>
<h3 id="webIf_getLoginInfo">getLoginInfo:初期ログイン用データ取得</h3>
初期ログイン用データ取得。現状はユーザーIDの uniqueId を取得するためのもの。<br>
一番最初に一度だけ実行してください。<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getLoginInfo<br>
<br>
応答データ例)<br>
{"uniqueId":"hl3bim0y"}<br>
<br>
<br>
<h3 id="webIf_getLoginUserInfo">getLoginUserInfo:ログインユーザーの情報取得・更新</h3>
ログインしているユーザーの情報の取得・更新を行います。<br>
このコマンドを定期的に実行することでWEB IFでもログインしている状態に見せることができます。<br>
定期間隔は src_ruby/config.rb に定義されている $loginTimeOut 秒です。(デフォルトでは13秒)<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は getLoginUserInfo を指定すること。<br>
room:コマンドを実行するプレイルーム番号<br>
password:コマンドを実行するプレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
uniqueId:getLoginInfoで取得できる uniqueId を指定。<br>
name:ログインしているユーザーの名前<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getLoginUserInfo&room=1&password=himitsu&uniqueId=hl3bim0y&name=boo<br>
<br>
応答データ例)<br>
[{"userName":"boo","userId":"hl3bim0y"}]<br>
<br>
<br>
<h3 id="webIf_chat">chat:チャットデータの取得</h3>
チャットの発言データを取得します。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は chat を指定すること。<br>
room:コマンドを実行するプレイルーム番号<br>
password:コマンドを実行するプレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
以下の sec/time パラメータはどちらかの指定が必須です。またsecとtimeがではtimeの指定が優先されます。<br>
time:何時以降のチャットを取得するかの時間をUNIX積算時間で指定。<br>
指定時間移行のチャットのみを取得します。<br>
(Flashからの定期取得処理と同一の動作)<br>
sec:何秒前までのチャットを取得するかの指定。allなら全取得、省略なら過去180秒($oldMessageTimeoutで指定)<br>
<br>
marker:基本不要。trueを設定することで、JSONの前後に #D@EM<#(JSON)#>D@EM# とマーカーを付与(CGI広告埋め込み対策)<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=chat&room=0&password=himitsu&time=1339209851.85239&callback=responseFunction<br>
<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK","chatMessageDataLog":[[1342087310.18487,{"senderName":"エルフ\t笑顔","uniqueId":"1339209851.85239\tD331AC4E-7935-553E-E958-7AA2F2CA5F82","color":"000000","channel":0,"message":"発言1"}],[1342087318.92488,{"senderName":"どどんとふ\t","uniqueId":"dummy","color":"00aa00","channel":0,"message":"「ゴスロリ娘」がログインしました。"}]]})<br>
<br>
chatMessageDataLog にチャットの発言が古い順で配列で格納されています。<br>
各発言は<br>
<br>
[<発言のUNIX積算時間>,<br>
{"senderName":<発言者名\t立ち絵(空文字なら指定なし)>,<br>
"uniqueId":<発言者のログイン時に付与されるID番号>,<br>
"color":<発言文字色の16進数文字列>,<br>
"channel":<発言先のチャットタブ番号(メイン:0 として、以降右を 1,2,3...と数えます)>,<br>
"message":<発言内容>}]<br>
<br>
という書式になります。<br>
<br>
<h3 id="webIf_talk">talk:チャットへの発言</h3>
チャットへ発言を行います。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は talk を指定すること。<br>
room:コマンドを実行するプレイルーム番号<br>
password:コマンドを実行するプレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
name:発言者名(省略の場合は名前が空になります)<br>
message:発言内容<br>
color:発言文字の色を 00000〜FFFFFF の16進数で指定可能。省略時は 000000(黒色)<br>
channel:発言先のタブ番号(メイン:0 として、以降右を 1,2,3...と数えます)省略時は0(メイン)に。<br>
bot:ダイスボットを使用する場合に使用するゲーム種別を指定(指定しない場合は「ダイスボット(指定なし)」がデフォルト指定に)。<br>
ゲーム種別名の詳細については BCDice2.x のREADME.html<br>
https://github.com/torgtaitai/BCDice<br>
の「・ゲーム設定」を参照。<br>
callback: JSONP取得用。省略可<br>
<br>
注意:<br>
長いメッセージを投げる場合はURLパラメータのGET送信ではなくPOST送信を行ってください。<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=talk&room=0&password=himitsu&name=taitai&message=hello&color=00AA00&bot=SwordWorld&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK"});<br>
<br>
コマンド実行結果だけを返すため特に応答データはありません。<br>
<br>
<h3 id="webIf_getChatColor">getChatColor:文字色取得</h3>
指定ユーザーの最後の発言の文字色を取得できます。<br>
比較的重い処理なので毎回呼ばずに最初に1度だけ読んで結果を保持するようにしてください。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は getChatColor を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
name:文字色取得対象の発言者名<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getChatColor&room=0&password=himitsu&name=taitai&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK","color":"00aa00"});<br>
<br>
応答データは color で文字色だけが戻ります。表記は16進数の文字列表示です。<br>
<br>
<h3 id="webIf_addCharacter">addCharacter:キャラクター追加</h3>
マップ上にキャラクターを追加することが出来ます。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は addCharacter を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
name:追加するキャラクター名<br>
counters:イニシアティブに表示するカウンター値 名1:値1,名2:値2,.... というフォーマットで指定。省略可<br>
info:その他情報。省略可<br>
x:x座標。省略可<br>
y:y座標。省略可<br>
size:キャラクターのサイズ。省略可<br>
initiative:イニシアティブ値。省略可<br>
rotation:回転角度。0〜360 の度数指定。省略時はデフォルトの0に。<br>
image:画像。省略時はデフォルトの画像を設定。<br>
statusAlias:イニシアティブに表示するカウンター値がチェックボックスの場合に付けることの出来る別名の指定 名1:別名1,名2:別名2,.... というフォーマットで指定。省略可<br>
dogTag:複数キャラクター作成時に付与される「1」のような番号表示用のパラメータ。通常は雑魚的の場合にしか使わない固定数値ですが、WEB IFでは任意に設定可能とします。省略可<br>
draggable:ドラッグ移動の是非。trueで移動可能(true,false)。省略可<br>
isHide:マップマスクの下にキャラクターを隠すかの指定。trueで隠す(true,false)。省略可<br>
url:キャラクターデータの参照先URLの指定。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=addCharacter&room=1&password=himitsu&name=abc&counters=HP:1,MP:1,*check:0,*check:1&info=foo&x=0&y=1&size=2&initiative=9&rotation=30&statusAlias=check:abc,check2:def&dogTag=1&draggable=true&isHide=false&url=http%3a%2f%2fwww%2edodontof%2ecom%2f&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK"});<br>
<br>
コマンド実行結果だけを返すため特に応答データはありません。<br>
<br>
<h3 id="webIf_changeCharacter">changeCharacter:キャラクターの変更</h3>
マップに追加済みのキャラクターの設定値を変更することが出来ます。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は changeCharacter を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
targetName:変更対象とするキャラクターの名前<br>
name:キャラクター名を変更する場合にはこのパラメータを指定。省略可<br>
counters:イニシアティブに表示するカウンター値 名1:値1,名2:値2,.... というフォーマットで指定。省略可<br>
info:その他情報。省略可<br>
x:x座標。省略可<br>
y:y座標。省略可<br>
size:キャラクターのサイズ。省略可<br>
initiative:イニシアティブ値。省略可<br>
rotation:回転角度。0〜360 の度数指定。省略時はデフォルトの0に。<br>
image:画像。省略時はデフォルトの画像を設定。<br>
statusAlias:イニシアティブに表示するカウンター値がチェックボックスの場合に付けることの出来る別名の指定 名1:別名1,名2:別名2,.... というフォーマットで指定。省略可<br>
dogTag:複数キャラクター作成時に付与される「1」のような番号表示用のパラメータ。実は任意の文字が使えます。省略可<br>
draggable:ドラッグ移動の是非。trueで移動可能(true,false)。省略可<br>
isHide:マップマスクの下にキャラクターを隠すかの指定。trueで隠す(true,false)。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=changeCharacter&room=1&password=himitsu&targetName=abc&name=def&counters=HP:1,MP:1,*check:0,*check:1&info=foo&x=0&y=1&size=2&initiative=9&rotation=30&statusAlias=check:abc,check2:def&dogTag=1&draggable=true&isHide=false&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK"});<br>
<br>
コマンド実行結果だけを返すため特に応答データはありません。<br>
<br>
<h3 id="webIf_getRoomInfo">getRoomInfo:プレイルーム情報取得</h3>
プレイルームの状態を取得することが出来ます。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は getRoomInfo を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=getRoomInfo&room=1&password=himitsu&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"chatTab":["メイン","雑談"],"outerImage":true,"game":"ShinobiGami","result":"OK","visit":false,"roomName":"仮プレイルーム(削除可能)","counter":["HP","*転倒","夢","MP"]});<br>
<br>
chatTab:チャットのタブ名のリスト<br>
counter:イニシアティブ表で使われているカウンター値のリスト<br>
game:ダイスボット種別<br>
outerImage:外部URLの許可の有無(true:外部URL許可、false:不可)<br>
roomName:プレイルーム名<br>
visit:見学の可否(true:見学可、false:不可)<br>
<br>
<h3 id="webIf_setRoomInfo">setRoomInfo:プレイルームの情報設定</h3>
プレイルームの情報を一括設定することが出来ます。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は setRoomInfo を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
counter:イニシアティブに表示するカウンター名。名1,名2,.... というフォーマットで指定。省略可<br>
chatTab:チャットウィンドウで使用するタブの名前。タブ名1,タブ名2,.... というフォーマットで指定。省略可<br>
roomName:プレイルーム名。省略可<br>
outerImage:外部画像の使用の可否(true,false)。省略可<br>
visit:見学者の可否(true,false)。省略可<br>
game:デフォルトでサポートするゲーム名(ダイスボットと同様の定義名を使用)。種別名の詳細は src_ruby/diceInfo.rb を参照。省略可<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=setRoomInfo&room=1&password=himitsu&counter=HP,MP,PPP&chatTab=aiu,eo&roomName=mokekeRoom&outerImage=true&visit=true&game=TORG&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK"});<br>
<br>
<h3 id="webIf_addMemo">addMemo:共有メモ追加</h3>
共有メモを追加することが出来ます。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は addMemo を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
message:メモに記述する文字列<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=addMemo&room=1&password=himitsu&callback=responseFunction&message=qwerty<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK"});<br>
<br>
<h3 id="webIf_refresh">refresh:各種情報取得</h3>
部屋の各種情報を一括して取得できます。<br>
<br>
指定可能パラメータ:<br>
webif:コマンド名。この場合は refresh を指定<br>
room:対象プレイルーム番号<br>
password:対象プレイルームのパスワード(パスワードが無い、あるいは見学可の場合は省略可能)<br>
callback: JSONP取得用の関数名設定用。省略可<br>
<br>
chat:チャット情報を前回取得した時間。省略時は一切取得されません。取得したい場合、初期値に0を指定してください。<br>
map:マップ情報。他はchatに同じ。<br>
characters:キャラクター情報。他はchatに同じ。<br>
time:イニシアティブラウンド情報。他はchatに同じ。<br>
effects:立ち絵/カットイン情報。他はchatに同じ。<br>
roomInfo:部屋情報。他はchatに同じ。<br>
<br>
コマンド例)<br>
DodontoFServer.rb?webif=refresh&room=0&chat=0&map=0&characters=0&time=0&effects=0&roomInfo&callback=responseFunction<br>
<br>
応答データ例)<br>
responseFunction({"result":"OK","mapData":{"yMax":22,"mapMarks":[],"mapType":"imageGraphic","imageSource":"","xMax":22,"gridColor":0},"chatMessageDataLog":[[1262834775.781,{"senderName":"エルフさん","uniqueId":"1262834746.718","messageIndex":2,"color":"000000","message":"発言テスト"}]],"characters":[{"name":"sample","size":1,"imgId":"character_1260575421.171_1","x":8,"y":3,"draggable":true,"info":"","isHide":false,"type":"characterData","imageName":".\/imageUploadSpace\/chara01_a5_24_2.png","direction":0,"initiative":0,"rotation":0}],"graveyard":[],"effects":[{"position":"center","soundSource":"","isSoundLoop":false,"cutInTag":"","effectId":"1228488734.998","isTail":true,"volume":0.1,"height":0,"displaySeconds":0.3,"message":"驚愕","source":".\/movie\/shout.flv","width":0}{"name":"スポーツ娘","effectId":"1228825137.001","type":"standingGraphicInfos","source":"image\/stand\/sports_normal.png","state":"通常"}],"roomInfo":{"playRoomChangedPassword":null,"canUseExternalImage":false,"viewStateInfo":{"isCutInVisible":true,"isPositionVisible":true,"isDiceVisible":true,"isStandingGraphicVisible":true,"isGridVisible":true,"isAdjustImageSize":true,"isButtonBoxVisible":false,"isChatPaletteVisible":true,"isInitiativeListVisible":true,"isChatVisible":true,"isCardPickUpVisible":false,"isSnapMovablePiece":true,"key":"1344134257.60825"},"chatChannelNames":["メイン","雑談"],"playRoomName":"お試しプレイルーム(消さないでね)","canVisit":false,"gameType":"GehennaAn"}"lastUpdateTimes":{"characters":1330171325000,"recordIndex":0,"time":0.0,"chatMessageDataLog":1353655077000,"effects":1344179573000,"map":1330171325000,"playRoomInfo":1344134257000,"record":0}});<br>
<br>
mapData:マップ情報<br>
chatMessageDataLog:チャット情報<br>
characters:キャラクター情報<br>
graveyard:墓場に入れられたキャラクターの情報<br>
effects:カットインと立ち絵の情報<br>
roomInfo:部屋の情報<br>
lastUpdateTimes:各セーブデータの更新日時情報。2回目以降のrefreshではここで取得した値を指定パラメータに入れて実行します。<br>
<br>
<br>
<h2 id="aboutLicense">ライセンスについて</h2>
以下、各種同根ファイルを含めたライセンスについて。<br>
<br>
・使用許諾について<br>
「どどんとふ」のライセンスは修正BSDライセンスとします。<br>
URL: http://www.dodontof.com<br>
配下の関連ページが開発元として参照できさえすれば、任意に使用していただいてかまいません。<br>
(そのまま使用していただければ、ヘルプからURLが参照可能ですので問題ありません)<br>
<br>
ただし、以下に述べる本ツールに付属のライブラリ・画像データについては、それぞれのライセンスに従ってください。<br>
こちらも、通常の公開・使用については特に問題ないはずです。<br>
<h3 id="fileConstraction">ファイル構成</h3>
ファイル構成は以下のとおりです。<br>
<br>
DodontoF : 「どどんとふ」の展開元ディレクトリ<br>
|<br>
+---:as2_tubeloc.swf:tubeloc、Youtube動画再生用ライブラリ(後述)<br>
|<br>
+--+:saveData:各種データの保存先ディレクトリ。<br>
| +--:characterImages:キャラクターの画像はここに保管されます。(後述)<br>
| +--:data_x:プレイルーム用データはここに保管されます。xにはプレイルーム番号が付与されます。<br>
| +--:mapImages:マップの画像はここに保管されます。<br>
|<br>
|--:cards:カード用データ(後述)<br>
+--:saveDataDefault:新規作成時のプレイルーム用データ<br>
|<br>
+--+:src_ruby:サーバCGI側、Ruby用のソースコード<br>
| +--json : サーバ・クライアント間データ転送用ライブラリ「jsonParser.rb」が含まれています。(後述)<br>
|<br>
+--+:src_actionScript:クライアントGUI側、Flex(Flash)用のソースコード<br>
+--:com:tubeloc、Youtube動画再生用ライブラリ(後述)<br>
+--:corelib:Json変換用Flexライブラリ(後述)<br>
+--:diceImage:DiceInfo.asで使用しているダイス画像ファイル(コンパイル時組み込み)<br>
+-+:imageUploadSpace:画像データ置き場(後述)<br>
+-+:image:画像データ置き場(内部処理用)<br>
| +--:icons:各種アイコン用画像集(後述)<br>
| +--:stand:サンプル用立ち絵(後述)<br>
+--:sound:Flex用音データ(コンパイル時組み込み)<br>
<h3 id="aboutLibrary">ライブラリ・画像データ等について</h3>
本ツールでは、以下のライブラリ、データを使用しています。<br>
各作者の方々に心から感謝。<br>
以下、順不同です。<br>
<h4 id="characterImage">キャラクター画像</h4>
<a href="http://www.tekepon.net/fsm/">http://www.tekepon.net/fsm/</a><br>
=>First Seed Material, REFMAPより画像を流用しています。<br>
<h4 id="imageUploadSpace">立ち絵画像</h4>
=>「ど@えむ」掲示板にて、Ragiさん、PLEさんよりご提供いただきました。ありがとうございます!<br>
「どどんとふ」での利用に限り流用可能とのことですので、皆さんガンガン使いましょう!<br>
結城ユキさんのドワーフ娘も追加!にぎやかになっていい感じですね!!<br>
<h4 id="tubeloc">tubeloc</h4>
<a href="http://code.google.com/p/tubeloc/">tubeloc[http://code.google.com/p/tubeloc/]</a><br>
=>FlashでYoutubeの動画を再生するためのライブラリ。Apache License 2.0ライセンス。<br>
<h4 id="Hi-ReS-Stats">Hi-ReS-Stats</h4>
<a href="https://github.com/mrdoob/Hi-ReS-Stats">Hi-ReS-Stats[https://github.com/mrdoob/Hi-ReS-Stats]</a><br>
=>Flashのパフォーマンスを測定するためのライブラリ。MITライセンス。<br>
src_ruby/config.rbの $isPaformanceMonitor を true にすることで有効化<br>
<h4 id="corelib">corelib</h4>
<a href="http://code.google.com/p/as3corelib/">http://groups.google.com/group/webos-goodies/</a><br>
=>RubyでJsonデータを変換するためのライブラリ。Public domainライセンス。<br>
<h4 id="Archive::Tar::Minitar">Archive::Tar::Minitar</h4>
<a href="http://rubyforge.org/projects/ruwiki/">http://rubyforge.org/projects/ruwiki/</a><br>
=>Rubyでtar.gzファイルを解凍するためのライブラリ。GPL, Rubyデュアルライセンス。<br>
どどんとふ付属のライブラリは改造版のため、オリジナルは上記サイトから取得願います。<br>
<h4 id="as3-msgpack">as3-msgpack</h4>
<a href="https://github.com/loteixeira/as3-msgpack">https://github.com/loteixeira/as3-msgpack</a><br>
=>ActionScript3用のMessagePackライブラリ。Apache License 2.0ライセンス。<br>
<h4 id="msgpack-pure">msgpack-pure</h4>
<a href="https://github.com/nayutaya/msgpack-pure">https://github.com/nayutaya/msgpack-pure</a><br>
=>Ruby用のMessagePackライブラリ。ライセンス不明記。<br>
<h4 id="msgpack-pure-ruby">msgpack-pure-ruby</h4>
<a href="https://github.com/iconara/msgpack-pure-ruby">https://github.com/iconara/msgpack-pure-ruby</a><br>
=>Ruby1.9用のMessagePackライブラリ。Apache License 2.0ライセンス。<br>
<h4 id="icons">各種アイコン用画像集</h4>
<a href="http://www.famfamfam.com/lab/icons/silk/">Mark James[http://www.famfamfam.com/lab/icons/silk/]</a><br>
=>アイコン用画像集<br>
<a href="http://raindropmemory.deviantart.com/">Raindropmemory[http://raindropmemory.deviantart.com/]</a><br>
=>アイコン用画像の一部(参照:<a href="http://findicons.com/icon/41229/note">http://findicons.com/icon/41229/note</a>)<br>
<h4 id="standingGraphics">サンプル用立ち絵</h4>
<a href="http://www.vector.co.jp/soft/win95/game/se250013.html">http://www.vector.co.jp/soft/win95/game/se250013.html</a><br>
=>Vectorの「ゲーム製作用立ち絵素材集〜女の子編〜」から入手。<br>
<h4 id="jsonPerser">jsonParser.rb</h4>
<a href="http://groups.google.com/group/webos-goodies/">http://groups.google.com/group/webos-goodies/</a><br>
=>RubyでJsonデータを変換するためのライブラリ。Public domainライセンス。<br>
<h4 id="otherLibrary">その他</h4>
Dice.asの作成には<br>