FFA(Free Fight Adventure)というものをご存じだろうか。
時は200X年、個人HP全盛期の時代に、perlやPHPを使ったブラウザゲームである。
ゲームの内容としては、今風に言うと「ポチポチゲー」であったが、ブラウザでゲームが無料でできるというのは当時画期的(言い過ぎ)だったため、流行るところでは流行っていた。
また、ゲームのスクリプトは配布されており、改造、再配布が可能であったため、HPによって色々なFFAを遊ぶことができた。
しかし現代となっては、スマホさえあればもっと手軽に高品質なゲームをいくらでもやることができるようになったため、わざわざFFAを改造、設置、運営しているサイトは数えるほどになってしまったのであった。
今回はそのFFAの元祖たる、FFA Classic V0.54を現代のmac上で動かしてみることにした。
バージョン情報
- macOS Catalina 10.15.1
コードの入手
FFAdventure Classic 0.54は、Free Fight Adventure仮預かり所から入手することが「まだ」可能です。
このzipファイルを解凍すると必要なファイル一式が入っています。が、文字コードがShiftJISです。現代のmacで動かすにはなかなか面倒なので、UTF8に変換したものをこちらに用意しました。
https://github.com/ttakuru88/ffa_classic_for_mac
ちなみに本記事、このリポジトリのREADMEの内容ほぼそのままです。
mac上のapacheのperl CGIを有効化する
macにはapacheが最初から入っているので、その設定をちょいちょいっといじってperlを有効にしましょう。
/etc/apache2/httpd.conf
をsudo権限により編集して、次の3つの行をコメントインします。
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule perl_module libexec/apache2/mod_perl.so
AddHandler cgi-script .cgi
次に、どこかにあるOptions FollowSymLinks Multiviews
の行に、ExecCGI
を追加します。
- Options FollowSymLinks Multiviews
+ Options FollowSymLinks Multiviews ExecCGI
あとは<Directory "/Library/WebServer/CGI-Executables">
に次の2行を追加しましょう。
AddHandler text/html .html
AddHandler image/gif .gif
FFAの設置
/Library/WebServer/Documents/CGI-Executables
に、先のリポジトリのffa054以下のファイルを設置します。
つまり、/Library/WebServer/Documents/CGI-Executables/ffadventure.cgi
というように設置される感じです。
FFAのスクリプトは、ファイル保存時のロックの実現のためにディレクトリにファイルを追加削除します。なので、それを動かすために、CGI-Executables のパーミッションで、他者書き込み権限を追加する必要があります。次のコマンドです。
sudo chmod 777 /Library/WebServer/Documents/CGI-Executables
キャラデータなど書き込みがあるファイルにも書き込み権限を追加しておきましょう。
chmod 666 recode.cgi
chmod 666 message.cgi
chmod 666 winner.cgi
chmod 666 chara.cgi
apacheの再起動
sudo apachectl start
これをすれば、http://localhost/cgi-bin/ffadventure.cgiにアクセスするとFFAが起動しているはずです!
なつかしい!!