Dripstat-JVMパフォーマンス監視サービスまたはMMOゲーム?

こんにちは、ハラジテリ!



今日、私が最近発見したサービス-Dripstatについてお話ししたいと思います。 ローカルJVMに特別なJavaエージェントをインストールして、アプリケーションサーバーの統計情報を収集し、それをより詳細に理解できるサイトに送信することができます。



- さて、どのような監視サービスですか? 今日は土曜日です! -あなたが言う、あなたは正しいでしょう。 さらに、このアイデアもサポートします。この記事では、コインの裏側の面白い面について、JSでのプログラミングについて少し説明します。







それで、私はあなたが興味がある人を読むようにあなたを招待します。



すぐにゲームページ( dripstat.com/game)へのリンクをたどってください。 開発者はこのインターフェースを気にしませんでしたが、これは最善です-すべてが直感的であり、5分で理解できます。

カップをクリックして「ウォレット」(容量)にステッカーをドロップし、インターフェイスを見回すことに少し時間を費やした後、ゲームの主な目標は明確になります-「より多くのメモリを滴下」。 右側には、現在の目標を示すオレンジ色のプログレスバーが表示されますが、このような多数の数字を恐れずに、 すべての参加者が1人のプレイヤーだけでなく、その成果に取り組んでいます(小さなレーティングとアクティビティチャートを見ることができます)。



しかし、1バイトを滴下するのは面白くないです。 汲み上げるために何がありますか? トレーニングが完了すると、代わりにメモリを生成し、手動生成インジケータを改善できるツールが利用可能になります。

情報を複製してすべてをリストすることはしません-自分で確認する方が良いでしょう(それらはすべて右側のパネルにリストされ、最初の行は利用可能な改善であり、次の行はメモリジェネレーター自体のリストです)。



まあ、それはおもちゃ自体のすべてです。



しかし、プログラマーの本能が内部で働き、宴会の継続を要求したため、私はそこで止まりませんでした。 したがって、私自動化プロセスを壊そうとすることにしました



1.サーバーとクライアント間のメッセージングプロトコルの表面的な分析により、メッセージ置換は機能しないことが示されました。サーバーには内部検証メカニズムがあります。 より詳細に掘り下げたいという欲求はなかったので、私は反対に行きました-クライアント側で。



2.もちろん、オートクリッカーでうまくいくことができますが、これはそれほど面白くなく、ブラウザは常に焦点を合わせているはずです。さらに、コーヒーに加えて、ページの他の要素をクリックする必要があります。 安価で効果的なソリューションとして最初に思い浮かんだのは、 ユーザースクリプトでした (それがなければ、ページの内部を見るのがはるかに難しくなるため、 firebug 自然です)。 必要なプラグインをインストールしてスクリプト自体を実行する方法については説明しません。この情報はインターネットとハブでもいっぱいです。 しかし、スクリプト自体はもちろん、共有します。



主なアイデアは次のとおりです。

0)クリック-クリック-クリック!

1)発電機の電力の最大10%を提供するため、アップグレードを購入しようとしています。

2)次に、最も高価な発電機を探して購入します。 最初は、順序が逆になり、カーソルの継続的な購入が進行に非常に緩慢な影響を与えたため、順序が変更されました。

3)メモリの90%がスタックしている場合、容量を拡張してリセットします。 このアイテムは、購入できるものがすべて既に購入されており、さらに購入するために大きな財布が必要な場合に実行されます。 たとえば、発電機とアップグレードの両方が既に価格の容量を超えており、残っているのは点滴メモリだけです。


実装:

// ==UserScript== // @name dripstat_clicker // @namespace x_lab.ice // @include https://dripstat.com/game/ // @version 1 // @grant GM_openInTab // ==/UserScript== unsafeWindow.document.hasFocus = function () {return true;}; //         , //            ,     (function (window, undefined) { if (window.top != window.self) { return; } //      iframe window.addEventListener("load", LocalMain, false); //        function LocalMain() { setInterval(function() { Shopping(); }, 10000); //     1   10  setInterval(function() { Clicker(); }, 10); //     100    // (  ,   JS    ,     ) } function Clicker() { $('#btn-addMem').click(); //     if(localStats.byteCount > localStats.memoryCapacity * 0.9) { //     90%    $('#btn-addGlobalMem').click(); //   capacity } } function Shopping() { //    var evt = document.createEvent("MouseEvents"); //    evt.initEvent("click", true, true); var upgrades = document.querySelector('#upgrades'); //      var upgChildren = upgrades.childNodes; for(var j=0; j < upgChildren.length; j++) { //        var upgChild = upgChildren[j]; if(upgChild.className == 'upgcontainer') { //           upgChild.dispatchEvent(evt); //     -  } } var store = document.querySelector('#powerupstore'); //      var children = store.childNodes; for(var i=(children.length-1); i >= 0; i--) { //     var child = children[i]; if(child.className == 'storeItem') { // ! child.dispatchEvent(evt); // ! } } } })(window); //     :)
      
      





現時点では(それほど多くのクリーンなクリッカー時間はありません)、私の結果は

統計




アルゴリズムは完全ではありませんが、それは目標ではありませんでした。 主な喜び、そして私の脳を伸ばしました。



アイダはAI間のトーナメントを手配します!



PSクッキーにノーと言う! (誰も知らなかった場合-orteil.dashnet.org/cookieclicker



All Articles