TGWSAdmin
リファラスパムの判定をちょっと改善。
ここTGWSの管理のために作ったツール。当然ながら非公開だよ。
リファラスパムの判定をちょっと改善。
アクセス解析のタスクに入れてある自分自身のアクセスを除外する仕組みを、ハードコードから設定項目に。
可変になるのはもちろんのこと、いつ除外したかというのも記録するようにして、設定の変更の目安となるようにしました。
あと、アップロードするメディアのサイズを、実際にアップロード可能なサイズまでに限定したり、Twitterの予約投稿の設定項目の初期値をタスクごとに変更できるようにしたり。
magic quotesは対応完了。
permissionも対応完了。
あと、ナマライザとTGWSAdminの省メモリ化を計画中。
ひとまず応急処置。
古いライブラリが役に立った。
ちょっと大きめのトラブル…。
Web側は大丈夫なのでTGWSWebAdminのほうに移行しちまうか…?
検索サイト追加。
TGWSAdmin用に追加したけど、あとでナマライザの方にも反映したいと思います。
TGWSAdminを省メモリ化。
ログを全部メモリ上に配置するのをやめて、ログらしくファイルに順次書き足していくようにしました。
読み書きのスピードもアップして、使い勝手も良くなりました。
ログの表示がちょっと機能ダウンしたけど、たまにしか使わないし、絞り込みは充実させたので実質問題ないはず。
とはいえ、またパソコンが壊れるかもしれないので、修理・交換の間にも止めたくない業務はVPSに移すことにしました。
一部の業務はローカル側でないと無理なので、2箇所で管理することになります。
スマホからでもつなげるようにしたので、外出先でもいろいろいじれるようになりました。
ランダムツイートの確率表示付き一覧を作りました。
画像とかも一望できて各種項目でランキングもできて便利なのであります。
ランダムツイートの確率表示実装してみた。
ツイート内容の選定アルゴリズムにも手を入れたのでテスト中。
もしかして、ライブラリが問題だったのでは…?
Twitter系タスクがツイートに失敗したときに、失敗に気が付かない仕組みだったので修正。
ライブラリがいい感じにレスポンスを返してくれるので、それを使っています。
対応検索サイト追加。
あんまり流入の多いところではありませんが、一応。
ナマライザ側の更新は、他の機会と一緒にということにしておきます。
画像の半自動整理実装。
タスク実行時に一時的に使うだけで他に使い道のない画像なんかがあって、そういうのはタスク実行後には基本的に不必要になるのですが、別のタスクにも使われている可能性も考慮して、自動では削除していませんでした。
タスクが幾度となく実行されて、不必要な画像が増えてきて、全自動で削除まではしなくていいから整理が必要になってきました。
ということで、セーブフォルダ内のファイル-タスク内で使用している画像という形で、未使用画像を列挙できるようにしました。
半自動削除機能も作るには作ったのですが、消しちゃいけないイレギュラーなファイルを完全に判定する手段はないので、削除はこれからも手動でやることでしょう。
Effective Bounds構想。
funyakの当たり判定の考え方は、ふにゃさんを継承していて、「自分が誰かにぶつかったら、相手の反応は相手に任せて、自分は自分の反応だけを行う」という考え方になっています。
具体例で言うと、ふにゃを弾き飛ばす効果のあるギヤバネは、ふにゃにぶつかるとバネを出し、一歩後ずさりしますが、ふにゃを弾き飛ばしはしません。ふにゃがギヤバネにぶつかって弾き飛ばされるのは、「弾き飛ばされる」という動作の主体たるふにゃの責任なのです。
と、なれば、自分が反応するためには、相手のことを知らなければならないわけです。逆に言えば、相手に反応してもらうためには、自分のことを教えなければいけないわけです。
自分の位置が、相手が「影響を及ぼしうる範囲」の外にあれば、自分は反応する必要がないのです。相手に反応してもらうためには、まず自分が相手に「影響を及ぼしうる範囲」を知らせなければいけないのです。
この、「影響を及ぼしうる範囲」を、「Effective Bounds(効果範囲)」と呼ぶことにしました。
Effective Boundsを共通的な仕組みの一つとして用意してやれば、厳密な当たり判定の前にまず影響がありうるかどうかを簡易的に調べることができるようになるわけです。
逆に、自分自身の「影響を受けうる範囲」、例えばやられ判定などについては、当たり判定処理の中で自分で考えればいいので、共通な仕組みを用意する必要はないでしょう。
自分が植わる位置を決定するための判定範囲を本体からかけ離れた位置に持つウナギカズラなんてのもいますからね。
板と針もそうでしたが、ふにゃシリーズの当たり判定は、当たる側と当たられる側で非対称な仕組みになっているのです。というか、します。
使いもしないのに無駄に実装していたTaskBaseのIDisposableを撤去。
アンマネージリソースを使うタスクはなくなったので、いらなくなっていたし、たとえいるにしても、ベース側で実装するのは見当違いでした。
Linuxサーバー上でも動かせるようにしたいので、.NET Coreで動かせるようコードの整理中なのです。
細かい履歴のページ作りました。
新履歴ページは現行のRSSを完全に置き換えるには至っていないので、しばらくは昔のRSSのページを残しておいて、新履歴ページを使うのはTwitterでの更新通知だけにします。
カテゴリ別のRSSを配信できるようになったら、トップページからの導線も用意して、全面的に新履歴ページに移行しようと思います。
サーバーからディレクトリを消したときにセーブデータをダウンロードしようとするとエラーでタスクが中断されてしまうのですが、中断されること自体はいいとして、どこで止まったのかわからないとエラーの修正のしようがないので、タスク中断時にエラーメッセージにダウンロードしようとしたパスを含めるようにしました。
FTP自動ダウンロードのタスクでパスの指定の仕方によってダウンロードに失敗してしまうバグを修正。
そして、やっとTGWS全域のセーブデータの自動バックアップができるようになったのでした。
SQLインジェクション系のリファラスパムが来ていてエラーが発生していました。
TGWSAdminではそもそもSQLを使っていないのでこの手の問題は発生しないのですが、エラーで止まるべき部分じゃなかったので、不正なリファラとしての処理に続くように修正しました。
ゲーム記のページを更新しました。
ポピーブラザーズJr.がかわいい写真がだいぶ溜まってきたので専用のページを作ったのと、ハイスコアとかの記録のページです。
先日作っていた画像セットのプログラムは、ポピーブラザーズJr.の画像をたくさん並べるための物だったのです。
ハイスコアのほうは、本当はキャラ別に記録されるゲームもあるので、それも対応すべきだったとは思うのですが、量が多くて大変だとか、まだ全キャラでやってないとかで、今回はキャラ全体のハイスコアだけにしておきました。
FTP自動ダウンロードが途中で失敗して中断されることがある問題を解消。
あと、タスクが増えすぎてシステムメニューが隠れるようになってしまったので、タスクをひとまとめにしてシステムメニューにアクセスしやすくする操作を実装。
スライムレースの報酬ゲット。
演奏アコーディオンです。
Twitter系のタスクのツイートのソートに対応。
リフレクションを駆使して、プロパティを自動で判別します。