TOP > SUPPORT> オンラインマニュアル>CGI等技術関連・設定情報>CGIカスタマイズTips


CGIカスタマイズTips


●画像のローカル設定

画像のローカル設定は、通常サーバにある画像ファイルの呼び出しをローカルのPCより呼び込ませることによってデータ転送量を減らし、サーバ負荷を低減するほか、島の表示が速くなりプレイヤーが快適にゲームを楽しめるようになります。弊社サーバで箱庭を運営される場合この設定を推奨しております。ここでは設置方法及び参加者がわかりやすく設定できる誘導方法について解説いたします。

●J's版の導入と参加者にJ'sモードを優先利用させるために

J's版箱庭諸島は、あっぽー氏の改造により配布されているJavascript 利用の箱庭諸島です。通常コマンドはその都度サーバへ送信されま すがこのスクリプトではローカルで送信コマンドを蓄積し一括送信する ことによってサーバへの負荷低減を実現しています。 配布元 あっぽー箱庭諸島 http://appoh.execweb.cx/hakoniwa/index.html デフォルトではプレイヤーが通常モードとJ'sモードが選択できるように なっており、初期設定が通常モードを選択するようになっているために 初心者プレイヤーがJ'sモードを選択しない傾向があります。そのため 折角導入してもこの機能が生かされない場合も見受けられます。ここ ではその回避策として通常モードとJ'sモードのボタン設定の変更につ いて解説いたします。 <変更方法> ・J's版箱庭のhako-top.cgiで下記の部分を探します。

< FORM name="Island" action="$H2::thisFile" method="POST">
あなたの島の名前は?<BR>
<SELECT NAME="ISLANDID"> $H2::islandList </SELECT><BR>
パスワードをどうぞ!!<BR>
<INPUT TYPE="hidden" NAME="OwnerButton">
< INPUT TYPE="password" NAME="PASSWORD" VALUE="$H2::defaultPassword" SIZE=32 MAXLENGTH=32><BR>
<INPUT TYPE="radio" NAME=JAVAMODE VALUE=cgi $radio>通常モード
<INPUT TYPE="radio" NAME=JAVAMODE VALUE=java $radio2>Javaスクリプトモード<BR>

<INPUT TYPE="submit" VALUE="開発しに行く" onClick="develope()">
<INPUT TYPE="button" VALUE="新しい画面" onClick="newdevelope()"> </FORM>
・上記、赤字の部分を
< INPUT TYPE="radio" NAME=JAVAMODE VALUE=java $radio2>Javaスクリプトモード
< INPUT TYPE="radio" NAME=JAVAMODE VALUE=cgi $radio>通常モード

このように入れ替えるだけで、デフォルトの状態でJAVAスクリプトモードが選択されるようになります。

●帝国戦用陣営BBSセキュリティ対策版設置について

あっぽーさん配布のJAVAスクリプト版帝国の興亡の陣営BBSのセキュリティホールを埋めたスクリプトを、takayanさんが配布されております。
  • あっぽー箱庭諸島 http://appoh.execweb.cx/hakoniwa/index.html
  • Takayan's Home Page http://www.ae.wakwak.com/~takayan/
  • 修正スクリプト      http://yumi.cside4.com/appbbs.txt
未対応サイトの陣営BBSでは自由にスパイ活動を行うことが可能ですので、JAVAスクリプト版帝国の興亡をお使いの方は対応されることをお勧めします。 ここではtakayanさんのスクリプトを組み込む際の注意点を述べておきます。

<書き換えの手順と注意点>
  • hako-main.cgiに追加する@jpassの記述場所はtakayanさんが書かれている通り適当でいいですが、マスターパスワードや特殊パスワードの近くに書いておくと見やすいと思います。
  • haka-map.cgi、hako-js.cgiに関しては、下記赤字の部分の修正を見落としやすいのでご注意ください。
# 陣営掲示板
if ($H2::campOnlyBbs && $H2::campAppohBbs != 1) {
$campbbs = "<br><A HREF=\"$camp->{'bbs'}\">${H2::tagBig_}$camp->{'name'}掲示板へ${H2::_tagBig}</A></br>";
}elsif($H2::campAppohBbs == 1){
$set_name = $H2::currentName;
$set_name =~ s/<[^<]*>//g;
$set_name =~ s/\r//g; $campName = $camp->{'name'};
$campName =~ s/【勝者!】//g;
$AppohBBS=<<_BBS_;
<form name="campForm" action="$H2::campAppohBbsURL" method="POST">
<INPUT type=hidden name="name" value="$set_name島">
<INPUT type=hidden name="camp" value="$campId">
<INPUT type=hidden name="jpass" value="$jpass">
<INPUT type="submit" value="$campName専用掲示板" onClick="campBBS()"><br> _BBS_
}
・hako-bbs.cgiはtakayanさんのページのものをコピーして陣営名などをご自身の設定に書き換えるやり方と、スクリプトを照らし合わせて元スクリプトを書き換えて行くやり方がありますが、元スクリプトを書き換える際には記述ミスなどに十分気を付けてください。
またどちらのやり方をした場合でも、下記赤字の部分が引っかかりhako-bbs.cgiが動かないということが多いようなので、ご注意ください。
if ($FORM{'jpass'} eq "ここに管理人用スペシャルパスワードを組みこんでください") { $userIP = $ENV{'REMOTE_ADDR'}; if ($userIP =~ /^***.***.***.***/) { # ここに管理人IPを組みこんでください($url_check = 0) } このアスタリスク(*)があるとエラーになりますので
if ($userIP =~ /^/) {
のように記入しないか(記入しなくてもパスを複雑にすれば問題ありません)記入される場合は固定IPならばすべてを記入し
IPの一部を記入する場合は、例えば if ($userIP =~ /^111.222.333./) {のように***を使わない形での記入をしてください。

●参考リンク集

<箱庭の改造> <サーバにアップロードする前に>
箱庭を改造する場合は、スクリプトにミスがあると無限ループやプロセスのロックが起こったり、最悪の場合はサーバがダウンしてしまうことも
ありますので、下記のサイトを参考にローカルでのデバッグを行った上でサーバにアップロードしてください。
Copyright(c)1999-2004 Masterweb.All Rights Reserved 会社概要  運営方針・規約  プライバシーポリシー