Multi Client Hazırlamak
UO-Developer.com — Hex Workshop ile client patch, çift client açmaPiyasadaki UO Double, UO Multi gibi programları bilirsiniz; çalışma mantığını merak etmişsinizdir. Bu rehberde olayı saf bir dille, nağme yapmadan anlatıyoruz.
Konu: Ultima Online client hex patch | Seviye: İleri | Client: 2.0.3
İlgili: Multi Client Hazırlamak | Client Dökümanları | Multi Client ve EasyUO
İçindekiler
- Multi client mantığı
- Reverse nedir? — kısa assembly notu
- Gerekli araçlar
- Hex Workshop adımları
- Offset özeti
- RAM ve donanım notu
- Kontrol listesi
1. Multi Client Mantığı
Assembly bilmiyorsanız teknik detayları atlayıp doğrudan 4. Hex Workshop adımları bölümüne geçebilirsiniz.
Normalde UO client çalıştırıldığında sistemde zaten açık Ultima process var mı diye bakılır. Varsa uyarı verir ve ikinci client açılmaz.
Bizim amacımız bu kontrolü reverse — tersine — çevirmek: Tek process varken bile ikinci client açılabilsin.
Bunu nasıl yapıyoruz? Client exe içindeki ilgili assembly jump komutlarını hex editörle değiştiriyoruz. Orijinal rehberde W32Dasm ile analiz yapılmış; size hazır offset değerleri veriliyor — birkaç byte değiştirmeniz yeterli.
2. Reverse ve jmp — Kısa Not
Assembly makine dilidir; jmp komutu koşullu veya koşulsuz sıçrama yapar — kısaca: zıpla, başka adrese git.
Client patch'inde yaptığımız şey: 74 veya 75 gibi koşullu jump opcode'larını EB — koşulsuz jump — yapmak. Böylece already running kontrolü atlanır.
Örnek — Ferda Tanyeri assembly kitabından sonsuz döngü (kaynak: sourtimes):
debug
-a100
mov ah,2
mov dl,2
int 21
jmp 102
int 20
-gMulti client için yukarıdaki kodu çalıştırmanız gerekmez; yalnızca jmp mantığını göstermek içindir.
3. Gerekli Araçlar
- Hex Workshop — hexworkshop.com — tercih edilen hex editör
- UO Client 2.0.3 — offset'ler bu sürüme göredir; farklı client sürümünde adresler değişir
- Client exe yedeği — patch geri alınamazsa orijinalden baştan
Uyarı: Offset'ler 2.0.3 içindir. ML, HS veya başka client'ta aynı adresler çalışmayabilir.
4. Hex Workshop Adımları
Adım 1 — Yedek alın
Client exe dosyasının kopyasını güvenli bir yere alın.
Adım 2 — Client'i açın
Hex Workshop ile 2.0.3 client exe dosyasını açın.
Adım 3 — Birinci patch (offset D5457)
- Ctrl+G — Go To
- Beginning of file seçili olsun
- Hex modunda offset: D5457 — tırnak yok
- İmleç tahminen C074 gibi bir konuma gelir
- Oradaki 74 byte'ının üzerine gelin, EB yapın
Adım 4 — İkinci patch (offset D56DD)
- Tekrar Ctrl+G
- Beginning of file, offset: D56DD
- İmleç muhtemelen 0075 civarına gelir
- Oradaki 75 byte'ını EB yapın
Adım 5 — Kaydet
Dosyayı kaydedin. Patch'lenmiş client ile ikinci instance açmayı deneyin.
5. Offset Özeti
Client 2.0.3 — Hex Workshop, Beginning of file:
- D5457 — 74 → EB
- D56DD — 75 → EB
Değerler tam ekranınıza göre bir byte kaymış olabilir; 74 / 75 görmüyorsanız çevresindeki koşullu jump byte'larını W32Dasm ile doğrulayın.
6. RAM ve Donanım Notu
Patch doğru olsa bile sistemde yeterli RAM yoksa ikinci client açılmayabilir — buna hex patch ile çözüm yok. Donanım yetersizse hardware forumlarından sistem gereksinimlerine bakın.
Ayrıca bazı shard'larda Guardian veya anti-cheat multi client'ı engelleyebilir — bu rehber yalnızca client exe patch'idir.
7. Özet Kontrol Listesi
- [ ] Client 2.0.3 exe yedeklendi mi?
- [ ] Hex Workshop kuruldu mu?
- [ ] Offset D5457 — 74 → EB yapıldı mı?
- [ ] Offset D56DD — 75 → EB yapıldı mı?
- [ ] Dosya kaydedildi mi?
- [ ] İkinci client açılış test edildi mi?
8. Alternatifler
Hazır program: UO Double, UO Multi vb. — aynı mantığın paketlenmiş hali. Tek dosya ile açma: Multi client tek dosya

