2010年10月23日 星期六

我一直沒有搞懂製作加速外掛是怎麼一回事

作者: ironsalami (人間蒸發) 看板: WOW
標題: Re: [閒聊] 奧山牌便當
時間: Mon Feb  4 17:49:55 2008

※ 引述《lpoijk (↗ 老 爺 ↙)》之銘言:
: : 可是我很好奇..有人開加速 跟 大家lag 的關係...
: : 沒有任何針對的意思  就是真的好奇  想多了解一些...
: 假如你上過Internet Programming的課程..(我盡量翻成中文)
: 他會教你一些Server跟Clinet的設計概念
: 例如Server在處理角色指令時,一定是用Thread去跑..
: 一個Thread處理多少玩家? 不確定..
: 但是重點在每個Thread在工作時,一定有負擔的上限
: 這可能也關係到BZ設計時,沒有把"加速器"考慮進去,
: 就直接假設一個玩家在單位時間內可以發出的指令..
: 用這樣的假設下來設計每個Thread可以負擔的最大值..
: 所以今天只要有人使用非法的程式或手段..
: 使得一個Thread的處理時間太久 佔著CPU下不來..
: 當然其他人不能動啊..
: 老實說,你可以拿Apache來玩,他很明顯有處理網頁的最大上限..


CSDN - 文檔中心 - 遊戲開發
標題 網絡遊戲外掛製作之我所見(5) mprogramer(原作)
關鍵字 外掛
        我一直沒有搞懂製作加速外掛是怎麼一回事,直到前不久又翻出來了2001年
    下半期的《程序員合訂本》中《「變速齒輪」研究手記》重新回味了一遍,才有
    了一點點開悟,隨後用Delphi重寫了一遍,下面我就把我的心得說給大家聽聽,
    並且在此感謝《「XXXXXXXX」XXXX手記》作者XXXXXX虲給了提示。廢話我就不多
    說了,那就開始神奇的加速型外掛體驗之旅吧!
        原本我一直以為加速外掛是針對某個遊戲而寫的,後來發現我這種概念是不
    對的,所謂加速外掛其實是修改時鐘頻率達到加速的目的。

        以前DOS時代玩過編程的人就會馬上想到,這很簡單嘛不就是直接修改一下8
    253寄存器嘛,這在以前DOS時代可能可以行得通,但是windows則不然。windows
    是一個32位的操作系統,並不是你想改哪就改哪的(微軟的東東就是如此霸氣,
    說不給你改就不給你改^_^),但要改也不是不可能,我們可以通過兩種方法來
    實現:第一是寫一個硬件驅動來完成,第二是用Ring0來實現(這種方法是CIH的
    作者陳盈豪首用的,它的原理是修改一下IDE表->創建一個中斷門->進入Ring0->
    調用中斷修改向量,但是沒有辦法只能用ASM彙編來實現這一切*_*,做為高級語
    言使用者慘啦!),用第一種方法用點麻煩,所以我們在這裡就用第二種方法實
    現吧~~~
       在實現之前我們來理一下思路吧:
    1、我們首先要寫一個過程,在這個過程裡嵌入彙編語言來實現修改IDE表、創建
       中斷門,修改向量等工作
    2、調用這個過程來實現加速功能

        因為windows默認的值為$1742,所以我們把1742做為基數,又因為值越小越
    快,反之越慢的原理,所以寫了這樣一個公式,好了,這就是「XXXXXXXX」的一
    個Delphi+ASM版了(只適用於win9X),呵呵,試一下吧,這對你幫助會很大的,
    呵呵。
**********************************

  這篇文章我在一年前就已經挖到了
  裡面說明了修改自身處理器頻率
  以達到port process的加速
  適用於大部分的網路遊戲
  玩家使用個人的"加速器",就我目前的瞭解
  是不至於造成集體lag的
  我無法100%確認的是"閃閃外掛"與"集體奧山lag"
  是否完全對等的問題
  但我認為兩者相關

  這是利用主從端封包延遲等待的設定造成
  換言之遊戲主控端只要願意等
  被測試到了不判定斷線的極限臨界值
  其他人都會看到這個閃閃lag嚴重的玩家
  以封包斷續不穩的情況進行遊戲
  就算這個現象是玩家人為

  啤酒節改版有發生過
  坐騎上進入其他地圖(如戰場)
  會發生斷線的bug hotfix
  因此一個禮拜後緊急再度hotfix修正掉
  我認為這就是程式設計者打算封鎖閃閃外掛的更正
  「當玩家在速度超過平常移動的情況下
    封包延遲超過0.333s (一般閃閃外掛一秒約閃三次封包)
    判定玩家延遲斷線」
  但是在上馬換地圖時出現意料外的判定符合現象
  所以修正緊急拿掉

  簡單來說呢,
  加速器是改變cpu運算頻率,讓你的封包丟的比別人快
  閃閃外掛則是讓自己lag,在server可以忍受的範圍內等待你
  後者才可能造成集體lag
  其他太多的太亂的我刪掉了 XD

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.9.220
推 Ylance:好深奧= =                                                02/04 17:53
推 pohan0921:我看了2頁就END了                                      02/04 18:00
推 Ylance:我有撐著看完了...                                        02/04 18:01
→ NIKADO:好吧..我只有最後二句看得懂.....                          02/04 18:02
※ 編輯: ironsalami      來自: 61.231.9.220         (02/04 18:16)
推 neofire:我不管誰相不相信,只想知道官方有沒有解決之道             02/04 18:41

沒有留言:

張貼留言

您好.本資料庫並非第一手資料.如果你有對文章作者的詢問,意見與需求,請自行找尋文章作者並提供意見,謝謝.