劇ぱわ 改造方法
不正試合防止(当て馬の防止)
要旨
「重複登録の禁止」をしても「登録時のIPアドレスが違えば、重複登録が可能」となってしまいます。
その為に重複登録して「当て馬」を使って自分のチームの成績を上げる不正参加者が現れてしまいます。
この「当て馬」行為の回避策として、「同一IPアドレスでの参加者同士の試合を禁止」とします。
不正試合防止(当て馬の防止)をする改造
■「gekipawa.ini」の変更(1ヶ所)
■「geki_game.cgi」の変更(3ヶ所)
「gekipawa.ini」ファイルをエディタで開きます。
任意の場所に下記赤文字部分を追加して下さい。
$ateuma = '1'; # 不正試合防止(1:当て馬防止、0:規制無し)
「geki_game.cgi」ファイルをエディタで開きます。
キャンプ画面を変更します。
下記部分を探して下さい。(無改造なら18行目〜)
(下記は画面に収まらないので改行が加えてあります。)
##### 試合結果画面 sub playlog{ $userdata = &user_check; ($saku[0], $pass[0], $home[0], $team[0], $icon[0], $date[0], $ip[0], $teamdata[0], $pointdata[0], $bosstype, $charadata, $gamedata[0], $campflag[0]) = split(/<p>/, $userdata);
下記赤文字部分を追加する。
##### 試合結果画面
sub playlog{
$host = $ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'}; # 不正試合防止(当て馬防止)リモートホスト取得
$userdata = &user_check;
($saku[0], $pass[0], $home[0], $team[0], $icon[0], $date[0], $ip[0], $teamdata[0], $pointdata[0], $bosstype, $charadata,
$gamedata[0], $campflag[0]) = split(/<p>/, $userdata);
「geki_game.cgi」の下記部分を探して下さい。(無改造の場合は、43〜47行目)
(下記は画面に収まらないので改行が加えてあります。)
$charadata[0] = join('', @{$player[0]});
$userdata[0] = "$saku[0]<p>$pass[0]<p>$home[0]<p>$team[0]<p>$icon[0]<p>$date[0]<p>$ip[0]<p>$teamdata[0]<p>$pointdata[0]<p>
$bosstype[0]<p>$charadata[0]<p>$gamedata[0]<p>$campflag[0]<p>\n";
open(WN,"$leaguefold/$winfile") || &error('指定されたファイルが開けません。');
上記青文字部分を下記赤文字部分の様に修正する。
$charadata[0] = join('', @{$player[0]});
$userdata[0] = "$saku[0]<p>$pass[0]<p>$home[0]<p>$team[0]<p>$icon[0]<p>$date[0]<p>$host<p>$teamdata[0]<p>$pointdata[0]<p>
$bosstype[0]<p>$charadata[0]<p>$gamedata[0]<p>$campflag[0]<p>\n";
open(WN,"$leaguefold/$winfile") || &error('指定されたファイルが開けません。');
「geki_game.cgi」の下記部分を探して下さい。(無改造の場合は、52行目〜64行目)
if(!$winners[0]){ open(WN,"+<$leaguefold/$winfile") || &error('指定されたファイルが開けません。'); truncate (WN, 0); seek(WN,0,0); print WN $userdata[0]; close(WN); &error('現在の勝利者がいないため、試合を行えませんでした。'); } ($saku[1], $pass[1], $home[1], $team[1], $icon[1], $date[1], $ip[1],$teamdata[1], $pointdata[1], $bosstype[1],$charadata[1], $gamedata[1], $campflag[1]) = split(/<p>/, $winners[0]); if($saku[1] eq $saku[0] && $pass[1] eq $pass[0]){ &error('自分のチームとは対戦できないよ。'); } ($lastjun[1], $win[1], $wincon[1], $winmax[1], $lose[1], $kaio[1], $kaid[1], $get[1], $loss[1], $t_jiseki[1], $boxsum[1], $hitsum[1], $hrsum[1], $stesum[1], $errsum[1]) = split(/<>/, $teamdata[1]);
下記赤文字部分を追加する。
if(!$winners[0]){
open(WN,"+<$leaguefold/$winfile") || &error('指定されたファイルが開けません。');
truncate (WN, 0);
seek(WN,0,0); print WN $userdata[0];
close(WN);
&error('現在の勝利者がいないため、試合を行えませんでした。');
}
($saku[1], $pass[1], $home[1], $team[1], $icon[1], $date[1], $ip[1], $teamdata[1], $pointdata[1], $bosstype[1], $charadata[1],
$gamedata[1], $campflag[1]) = split(/<p>/, $winners[0]);
if($saku[1] eq $saku[0] && $pass[1] eq $pass[0]){ &error('自分のチームとは対戦できないよ。'); }
# 不正試合防止(当て馬防止)ここから
if($ateuma){
if($ip[0] eq $ip[1]){
&error('不正試合防止のため、この対戦は許可できません!'); # 前回のIPと同じため試合禁止
}elsif($host eq $ip[1]){
&error('不正試合防止のため、この対戦は許可できません!'); # 現在のIPと同じため試合禁止
}
}
$ip[0] = $host; # 仕掛けたチームのIPを現在のものと置き換えます
# 不正試合防止(当て馬防止)ここまで
($lastjun[1], $win[1], $wincon[1], $winmax[1], $lose[1], $kaio[1], $kaid[1], $get[1], $loss[1], $t_jiseki[1], $boxsum[1], $hitsum[1],
$hrsum[1], $stesum[1], $errsum[1]) = split(/<>/, $teamdata[1]);
改造内容の注意事項
改造スクリプトの表示に画面に収めるため「改行」が加えられています。
これで「不正試合(当て馬)」はある程度防止できると思います。
また、チームに記録されるIPアドレスは最終試合を行った時のものと入れ替わりますので、新規登録での重複防止にも有効と思います。
更に規制を強化したい場合は、
$ENV{'HTTP_X_FORWARDED_FOR'}
$ENV{'HTTP_CLIENT_IP'};
$ENV{'HTTP_X_CISCO_BBSM_CLIENTIP'}
などのチェックも追加してみる事が有効かもしれません。
「同一チームへの連敗制限」なども導入して不正のない運営を心掛けましょう。
「劇ぱわ」の下部著作権部分へのリンクを貼る方法
##### 著作権表示 sub chosaku{ print <<"_CHOSAKU_"; </center> <hr size="1"> <div align="right"> <a href="http://homepage2.nifty.com/osktaka/" target="_blank" title="気ままなまま"> <font size="2">劇空間ぱわふるリーグ2 ver 3.00b (Free)</font> </a> </div> <div align="right"> <a href="http://ryoquest.sakura.ne.jp/" target="_blank" title="改造:「野良猫のCGI講座」Take it easy !"> <font size="2">改造:「野良猫のCGI講座」Take it easy !</font> </a> </div> <!--広告バナー挿入位置、ページ下部--> </body> </html> _CHOSAKU_ }#end chosaku
前後の内容
CGI/perl← | 劇ぱわ | →俺ペナ | ||
不具合対策← | 改造方法 | |||
キャンプでアイコン変更← | 不正試合防止(当て馬の防止) |
【劇ぱわ改造設置支援サイト】Take it easy ! RYOQUEST presents
『野良猫のCGI講座』は、
【劇ぱわ改造設置支援サイト】Take it easy ! RYOQUEST presents のコンテンツとして、虎猫が公開しています。
「劇空間ぱわふるリーグ2 ver 3.00b(劇ぱわ)」は、
『きままなまま』で管理人にーやん様が作成・無料配布されているCGI/Perlによる野球ゲームです。
参考にされた方は、当サイトへリンクを貼って下さい♪
サイト名:Take it easy ! RYOQUEST presents
(サイト名:Take it easy !)
URL:http://ryoquest.sakura.ne.jp/
バナーURL:http://ryoquest.sakura.ne.jp/image/tie_8831an.gif
![]()
『旧:野良猫のCGI講座』
以前の『野良猫のCGI講座』をご覧になりたい方は、『旧:野良猫のCGI講座』からアクセスして下さい。
但し、更新は一切していません。