異常終了時のMinecraftサーバー復帰方法

Linux環境下のMinecraftサーバーやApacheで「Address already in use」だとか「アドレスは既に使用中です」などとでて再起動ができない場合の対処法です。

①grepコマンドでポートを占有しているプロセスを調べる

Minecraftの標準ポートである25565の場合:

 

/usr/sbin/lsof -i | grep 25565

 

②プロセスIDが表示されるので該当IDを強制終了する

job IDが10028であった場合:

 

kill -9 10028

 

以上で占有されていたポートが開放されます。

なお他のソフトにおいて同様のエラーが出た場合も対応は同じです。

グラフィックカード換装:GTX960

さて、春あたりに新しいデスクトップPCを組んだのはいいが、資金難のためグラフィックカードまで手が回らず旧世代のRadeon HD5870を搭載していた。たいして3Dバリバリなゲームもしないのでそこまで困ってはいなかったのだが、消費電力も大きいしファンもうるさいし、なにより気にいらないことにノートPCのGTX765Mよりもパフォーマンスが低かった。

 

まぁしかし初めはグラフィックカードなんぞ買うつもりはなくて、調子が悪くなったマウスの代替を探しにビックカメラへ寄ったのだった。だいたい目処をつけたところでツクモに移動。

 

PCモニタはRDT232WXとRDT231WLM2枚+αでクアッド構成だったのだが、DP-HDMIアクティブ変換器があればeyefinityでsoftTH使わなくてもマルチモニタでゲームできるんだよなあなどと変換器をながめつつグラフィックボードコーナーへ。

 

 

するとどうだろうか。GTX960と980が安くなっている。980はコスパ的にいらんぞ、970はコスパいいけど安くなってない、970と1万円以上差あるし960で十分だなということで、なぜかマウスを買うはずがグラフィックカードを買ってしまった。

 

換装するとこんな感じのPCになりました。

概要

 

 

関係ないけどCPUはXeon E5 v2積んでます10コア20スレッドはなかなか圧巻

cpu

 

Apacheでのリバースプロキシ設定

Apacheでサブドメインまたは特定のディレクトリへのリクエストを他のサーバに中継します。

今回は独自に動作しているMinecraftのBukkitサーバ用プラグインであるDynmapをサブドメインに設定してみます。

Apacheでリバースプロキシを利用するためにはmod_proxyが組み込まれたApacheが必要ですが、通常のディストリビューションではデフォルトで有効になっていることが多いようです。

リバースプロキシに使用するディレクティブはProxyPass, ProxyPassReverse, ProxyPassReverseCookieDomain, ProxyPassReverseCookiePassの4つとなります。今回はProxyPassとProxyPassReverseのみ使用しました。

 

例としてmap.eximradar.jpにdynmapのポート8123を割り当てます。

設定の記述先はhttpd.confです。

 

http.confの末尾にVirtualHostを設定します。

 

なお、ディレクトリ以下に割り当てる場合は

のような記述になります。

 

Apacheを再起動して設定完了です。

 

NEC PC-9821V13

PC-98をもらった。

PC-9821V13だ。動くかわからないけど持ってくかいと言って下さったので喜んで持って帰ってきた。

RsDSC01317

 

 

単体で電源を入れるとピポッと音がした。CPUは死んでいないらしい。固定ディスクのスピンアップ音が聞こえないので固定ディスクドライブはついていないのだろう。

自宅に持って帰りカバーを開ける。

RsDSC01322

 

どうやらCPUは換装済みらしい。なにやら下駄を履いている。2次キャッシュが刺さっており、CバスにはモデムボードとSCSIボード。

FDDはSONY製の互換機、CD-ROMドライブもSONY製。

画面を繋いで電源を投入、ピポ音につづいてメモリカウントがはじまる。640KB+ …

メモリは48MB載っていた。ところがメモリカウントから先に進まない。これはどうしたことか。あっちこっち弄ってみたところ、2次キャッシュを抜いたら起動することがわかった。

原因はおまえか!

RsDSC01326

 

原因が判明したところでFDDにDOSが入ったフロッピーディスクを挿入して電源を投入するも読み込まない。回転数が変化しているような音がするのでディスクの種類を判別できていないのか。

クリーニングディスクをかけてもだめなのでFDDを分解していると酷い埃…。埃を掃除機で吸ってやるとちゃんと読むようになった。

 

DOSが起動するようになったはいいが、FDD1ドライブの機種はHDDがないと厳しい。

RsDSC01325

 

 

マザーボードにはIDEがついているので手持ちのHDDを繋いだ。QuantumのHDD。たしか昔PC98-NXから外したやつだったと思う。容量は3.2GB。

これでDOSが使えるようになったが、DOS用にはPC-9801BX2を運用しているのでWindows95でも導入してみることにした。

CDドライブがついているので話ははやい。CDドライブのドライバを組み込んだDOSフロッピーを作成してWindows95のディスクを読み込ませればいいのだ。

ところがCDドライブのドライバはOAKCDROM.SYSあたりでいけるだろうと思ったらこれが認識しない。いろいろ試した結果メルコのサイトから落としてきたCDドライバでいけた。DOS用のドライバを未だに公開してくれているのは心強い。

RsDSC01328

 

ん、セットアップが走らない。DOSのバージョンが合っていなかったことが原因だった。

Windows上でなんとかWindows95 の起動ディスクとして使えるものを作成したところセットアップは走った。

 

RsDSC02192

 

設置しておわり。ついでだからWord/Excel95とLotus1-2-3 97を入れてみた。

PC-98版のWindowsはシステムドライブがA:\ですね。

これで急にWindows95の環境が必要になっても安心。そんなことなさそうだけど…

 

あ、CPUはK6-2 133MHzでした。 PentiumMMX 166MHzが手持ちにあるので下駄履かせたらそれも使えるかも。

 

WordPressで画像サイズが選択できないときの対処

WordPressで画像サイズが「フルサイズ」以外選択できないときの対処方法です。

原因はphp_gd2.dllが有効になっていないことでした。

php.iniに

extension=php_gd2.dll

を追記。

 

 

ところがこれではだめで、調べるとこのdllファイル自体が存在しない様子。

そういうときは

yum install php-gd

でインストール。apacheを再起動すればサイズ選択ができるようになっているはずです。

service httpd restart

 

 

NEC PC-8801mkIISR

去年の暮れに88SRを入手したはいいけれど、肝心のキーボードがないので電源をいれてN-88BASICが起動する様を眺めることしかできなかったのだが、今回やっとキーボードを入手したのでちょっと紹介したい。

入手したキーボードはmkII用だった。PC-8801用のキーボードにはコネクタの種類が3種類あり、mkIISRにつかえるのはmkII/SR/TR/FR/MR用のもの。

RsDSC00722

 

88のキーボードとしてはかなり美品の部類だろう。比較対象がないので黄ばみがどの程度なのかは判断しかねるが、どうなんだろう。

通常キーはすべてALPS社製のメカニカルスイッチで、打鍵はしっかりとしたクリック感があり、音はカチカチと大きい。

CAPSキー、カナキーはトグルスイッチである。

 

次に本体だが、DRIVE Aの動作がかなりあやしい。FDDはTEAC製、ダイレクトドライブである。

DRIVE Bは元気なようなので、少々のメンテナンスの後、ドライブを入れ替えた。

 

RsDSC00605

 

上面カバーを開くとこんな感じ。

まずはそれぞれのドライブのネジを外す。DRIVE Bは左側、DRIVE Aは右側だけ外せばいい。

次に真ん中の固定金具のネジを外す。

ネジは固定金具の底面の2つ、ネジを外したら固定金具を上に引き抜く。これでFDDは解放される。RsDSC00712

 

あとは電源ケーブルなどを外しつつ全面に引っ張りだせばいい。

 

RsDSC00713

 

 

ドライブを入れ替えて、固定し直しておわり。

 

これで88SRの実機環境がとりあえず整った。

mkII用のキーボードをSRに差すと、L字プラグ用のくぼみの向きが違うので収まりが悪いが、まぁ使用する上での問題はない。

DSC00714

 

 

とりあえずイースIIを起動。

影の部分の色がおかしいのは撮影の問題と思われる。たぶん。

こいつ対応は31KHzのみの液晶モニタだが、15KHzの88でも24.8KHzの98でもOUT OF RANGEといいつつ自動調整してちゃんと画面うつしてくれるな。

RsDSC00719

 

WordPressが応答しなくなった

昨晩ブログデザインを弄っていたらWordPressが応答しなくなった。

結局原因はプラグインだったのだが、それに全く気づかず解決しようとあさっての方向に向かっていた。

 

まずPHPコードを実験しつつ貼っていたのでPHPあたりがおかしくなったのかと思い

service httpd restart

するも回復せず。つづいてPHP -vなどを打ち込んでみるとなんかモジュールが見つからないとエラーを吐く。

これは結果的に動作には特に関係ないエラーだったし、すぐに解決できたように思われたのだが、WordPressの管理画面を再度開くと「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」などと表示された。

 

もうこうなったらしかたがないと思い、PHPを再インストール…

yum remove php-*

を実行後

yum install php php-mysql php-mcrypt

で再インストール。

その後設定ファイルを書き直した。

 

が、まだ解決しない。原因が違うのだからあたりまえである。PHPを再インストールする前にphpinfo()でも開けばよかったのだけどね。

 

そして別なディレクトリにWordPressをインストールしてみる。これは問題なく動く。

じゃあ原因はなんだ。あ、もしかしてプラグイン…。

というわけでwordpress/wp-content/pluginsフォルダをリネーム。WordPressにアクセス。

 

なんだ開くじゃん…。そして画面上部にはキャッシュプラグインがエラーを吐いたとのメッセージが。

pluginsフォルダから該当プラグインを抜いてフォルダ名を直したら元通りになった。

いやいや焦ったよ。

無駄に疲れてしまって、明日は月曜なのになぁと思ったら問題発生からちょうど1時間。あれ。

 

それにしてもなぜいきなりPHPを疑ったのかが謎。まだまだ勉強不足だなぁ。

HSP3 横スクロールシューティング

先日はHSPで星もどきを多重スクロールするプログラムについて紹介しましたが、ああいうのはいかにも横シューの背景であるのでレーザーを撃てる自機を作ってみます。

とりあえず、以下のプログラムを実行してみてください。なお、今回は敵のプログラム部分は抜いてあります。

 

動作イメージがわかったところで各セクションについて説明を加えていきます。

各命令についてはHSPの命令リファレンスなどを参照してください。

 

 

//ショットフラグ用の変数

・この配列変数には、「レーザーが画面に表示されているか」のフラグが格納されます。

・上のサンプルでは配列が10ですので、画面上には同時に10本のレーザーが表示できます。

 

//画面初期化

・次フレーム描画のためにここで画面を一度まっさらな状態にしています。

 

//キー入力判定

・getkey及びstick命令でキー入力を取得しています。

・stick命令は同時押し判定が必要な時に便利です。

 

//ショットフラグを立てる

・スペースキーが押された場合にショットフラグを立てます。配列の若い方が優先されます。

・shotLimitで1フレーム中にフラグを立てられる数を1つに制限しています。

 

//自機移動

・キー入力に基づいて自機を移動します。サンプルでは上下左右ともに移動速度は4ドット/フレームです。

 

//レーザー描画

・ショットフラグに基づいてレーザーを描画します。

・サンプルではlaserLength(レーザー長)は100です。自機の前に突然長さ100のレーザーが現れるのは不自然ですから、64行目で自機からレーザーが伸びる処理をしています。レーザー長が100に達するまではレーザーの始点は自機に追従します。

・レーザーは10ドット/1フレームの速度で発射されます。

・65行目は実際にline命令でレーザーを描画しています。

・66行目ではlaserLengthが100に達したレーザーを画面右にスクロールしています。レーザ長や速度を変更する場合は、64行目のlaserLengthとlaserPosXに数値を一致させなければなりません。

・67行目では、画面外に出たレーザーのショットフラグを解除(下ろす)しています。

 

//背景スクロール

前述の通り、前回のプログラムを使用しています。

 

//画面に反映

・試してもらえばわかりますが、redraw部分がないと画面がちらつきます。

 

 

ざっと説明させてもらいましたが、不明な点などはコメント欄にお寄せいただければ可能な限りお答えいたします。

それでは今回はこの辺で。

 

 

MSX2修理 SONY HB-F1XD

今回のブツはこちら

RsDSC00029

 

SONY HB-F1XD MSX2

人々のヒットビットというやつだ。ダイレクトドライブFDDのおかげで発売から25年たった今でも2DDフロッピーが読める。

だがこいつテレビにつなぐとこうなる。

MSX2-A

ゲームを起動してもこのありさま。twinbee

 

どうしたものか。VDPの故障を疑ったが、某MSXスレでVDP以降ではないかというアドバイスをいただけたのでパターンを追ってみた。

 

RsDSC00065

これがメインボード。映像出力系は右上である。

パターンを追って気づいたのだが、VDPからはRGBしか結線されてない。取り出されたRGB出力は、VDPの右横にある基板で処理されるようで、コンポジット出力はそこで作られているらしい。

MSX2のVDPであるV9938のデータシートを見ると、21pinがVIDEO OUTとなっており、VDPから直接コンポジット出力を取り出せるようだ。

試しに21pinと適当なGNDを拾って映像を出力してみた。

 

MSX2-D

 

うおおおおおおおおおおおおおお!!!!

ちゃんと表示されるではないか!

根本的に直すならばVDPの横の基板を外して修理しなければならないが、どうせコンポジットしか使わないので21pinから映像を取り出すことにした。

 

RsDSC00067

 

さすがにVDPとRCA端子直結は怖いのでアンプ回路を挟む。

なお、このアンプ回路は一般的なもので、ファミコンのAV化を紹介しているページだとだいたい載ってると思う。

ちなみにこのアンプ回路はてきとうに組んだので色味がよろしくない。あまり参考にしないこと。VCCは近くのコントローラ端子からとった。ATARI仕様の9pinコントローラ端子では5pinが5V+になっている。

 

完璧ではないが、とりあえず乱れがなくなったのでいいことにしよう。

nemesisまとめ

 

 

HSP3基礎編 ループ命令

今回はHSPネタです。

大昔に自分が書いたコードを見ていたら、「星の多重スクロール」をさせるプログラムがありました。星といってもpsetで点を打って動かしてるだけです。横スクロールシューティングの背景でよくあるアレです。

 

仕様としては、3レイヤーで各20個の点が移動します。

続きを読む