Lagback/ja: Revision history

Diff selection: Mark the radio buttons of the revisions to compare and hit enter or the button at the bottom.
Legend: (cur) = difference with latest revision, (prev) = difference with preceding revision, m = minor edit.

5 February 2023

4 February 2023

  • curprev 07:2507:25, 4 February 2023KK kaku talk contribs 9,935 bytes −41 Created page with "スニークグリッチを行う際、サーバーが想定するプレイヤーの動きと実際の動きが異なる。以下がその理由:"
  • curprev 07:2007:20, 4 February 2023KK kaku talk contribs 9,976 bytes +43 Created page with "スニークグリッチ(もしくはシフトグリッチ)はブロック縁に着地しながらスニークすると発生し、スニークしているにもかかわらず落下してしまうというもの(1.16.2で修正済み)。"
  • curprev 06:4506:45, 4 February 2023KK kaku talk contribs 9,933 bytes −56 Created page with "this.playerEntity.handleFalling(this.playerEntity.posY - posY_original, packetIn.isOnGround()); } </syntaxhighlight>Note that the handling of fall damage is not processed if the player gets lagbacked. This may cause the player to suffer unexpectedly high fall damage when they eventually land. Since 1.15 (when [https://bugs.mojang.com/browse/MC-153698 the boat fall damage bug] was fixed), jumping resets the player's fall distance, which can be abused to survive high falls..."
  • curprev 06:4306:43, 4 February 2023KK kaku talk contribs 9,989 bytes −28 Created page with "//エラーを検出する: プレイヤーが不正に、もしくは当たり判定の内部を移動した if (noCollisionInside && (movedWrongly || !next_noCollisionInside)) { //プレイヤーを前の位置に戻す this.setPlayerLocation(this.lastPosX, this.lastPosY, this.lastPosZ, yaw, pitch); return; }"
  • curprev 06:4106:41, 4 February 2023KK kaku talk contribs 10,017 bytes −42 Created page with "//プレイヤーを実際の位置に動かし、衝突判定をチェックする this.playerEntity.setPositionAndRotation(next_posX, next_posY, next_posZ, yaw, pitch); boolean next_noCollisionInside = worldserver.getCollidingBoundingBoxes(this.playerEntity, this.playerEntity.getEntityBoundingBox().contract(0.0625, 0.0625, 0.0625).isEmpty();"
  • curprev 06:4006:40, 4 February 2023KK kaku talk contribs 10,059 bytes −66 Created page with "if (this.playerEntity.onGround && !packetIn.isOnGround() && deltaY > 0.0) this.playerEntity.jump(); this.playerEntity.moveEntity(deltaX, deltaY, deltaZ); this.playerEntity.onGround = packetIn.isOnGround(); //予想位置と実際の位置の誤差を算出 double errorX = next_posX - this.playerEntity.posX; double errorZ = next_posZ - this.playerEntity.posZ; double error_squared = errorX * errorX + errorZ * errorZ; boolean movedWr..."
  • curprev 06:3806:38, 4 February 2023KK kaku talk contribs 10,125 bytes −59 Created page with "//動きの検証を開始 double deltaX = next_posX - this.playerEntity.posX; double deltaY = next_posY - this.playerEntity.posY; double deltaZ = next_posZ - this.playerEntity.posZ;"
  • curprev 06:3806:38, 4 February 2023KK kaku talk contribs 10,184 bytes −27 Created page with "//プレイヤーが当たり判定の内部から動き始めているかをチェック: その場合、lagbackは発生しない boolean noCollisionInside = worldserver.getCollidingBoundingBoxes(this.playerEntity, this.playerEntity.getEntityBoundingBox().contract(0.0625, 0.0625, 0.0625).isEmpty();"
  • curprev 06:3506:35, 4 February 2023KK kaku talk contribs 10,211 bytes +35 Created page with "シングルプレイヤーでは、lagbackはソースコードのこの部分によって引き起こされる(大幅に簡略化済み、飛行・睡眠・テレポート・リスポーン・エンティティへの騎乗などの例外的なケースは無視する):<syntaxhighlight lang="java" line="1"> //NetHandlerPlayServer.java内 public void processPlayer(PacketPlayer packetIn) { double posY_original = this.playerEntity.posY; this.lastPosX = this.pla..."
  • curprev 06:2406:24, 4 February 2023KK kaku talk contribs 10,176 bytes −18 Created page with "== ソースコード =="

3 February 2023

31 January 2023

30 January 2023

28 January 2023

  • curprev 12:4512:45, 28 January 2023KK kaku talk contribs 10,459 bytes −3 Created page with "== 具体的なトリガーの説明 =="
  • curprev 12:4412:44, 28 January 2023KK kaku talk contribs 10,462 bytes +12 Created page with "つまり、プレイヤーの動きは1tickに2回計算されるが、1回目の計算による副作用が2回目の計算結果に影響を与える可能性がある。プレイヤーの動きが十分に速ければ、サーバーはプレイヤーが不正に移動したと判断し、lagbackを発生させる。"
  • curprev 12:3912:39, 28 January 2023KK kaku talk contribs 10,450 bytes −46 Created page with "* 着地時に<code>onGround</code>フラグが<code>true</code>に設定される(スニークの挙動が変わる)。 * クモの巣に接触時に<code>inWeb</code>フラグが<code>false</code>に設定される。 * 壁や天井に衝突時に各種<code>collided</code>フラグが<code>true</code>に設定される。"
  • curprev 12:3212:32, 28 January 2023KK kaku talk contribs 10,496 bytes −52 Created page with "検証の過程で元に戻されない副作用には以下が含まれる:"
  • curprev 12:2412:24, 28 January 2023KK kaku talk contribs 10,548 bytes +153 Created page with "2つ目の方法については、まずプレイヤーの動きがサーバー側でどのように処理されているかを理解する必要がある(シングルプレイヤーであっても、ゲームは統合サーバー上で動作している)。<br> 毎tick、クライアントはプレイヤーの次の位置を計算し、サーバーにパケットを送信する。サーバーは、プレイヤーの動きを前回の位置から再計算すること..."
  • curprev 12:0112:01, 28 January 2023KK kaku talk contribs 10,395 bytes 0 No edit summary

12 November 2022

  • curprev 10:5510:55, 12 November 2022KK kaku talk contribs 10,395 bytes +4 No edit summary
  • curprev 10:5510:55, 12 November 2022KK kaku talk contribs 10,391 bytes +21 Created page with "lagbackを引き起こす方法は、大きく分けて2つある: * 当たり判定と重なる(ブロックに埋まる、ボートにぶつかるなど)。 * "''不正に''"移動する。 1つ目の方法に関しては、説明の必要はないだろう。"
  • curprev 10:4510:45, 12 November 2022KK kaku talk contribs 10,370 bytes −18 Created page with "== 一般的な説明 =="
  • curprev 10:4510:45, 12 November 2022KK kaku talk contribs 10,388 bytes +42 Created page with "lagbackのトリガーとして知られている動作は以下の通り: * ブロックに埋まる。 * ボートにぶつかる。 * クモの巣の中で素早く移動する。 * 充分な速度で、スニークしながら着地する。 * stepping発動可能なブロックを、超高速(移動速度上昇100など)で通り抜ける。 * 壁に向かっ..."
  • curprev 10:2210:22, 12 November 2022KK kaku talk contribs 10,346 bytes +66 Created page with "Lagbackとは、プレイヤーが以前の位置にテレポートで戻される現象である。悪用することで、壁にめり込んだりBlipと同様により高くジャンプしたりできるが、マルチプレイヤーサーバーでは実行が禁止されている場合がある。このページでは1.8のシングルプレイヤーに焦点を当てているが、ほとんどの情報はマルチプレイヤー及び1.9..."
  • curprev 10:0810:08, 12 November 2022KK kaku talk contribs 10,280 bytes +10,280 Created page with "Lagback"