*Bu program Ultima Online sunucusu kurmak isteyip'te oyun'un ana amacından çok,
Connector detayına takılan arkadaşlar için olmazsa olmazmış!
*******************************
*Belki birileri çıkıp küfür edecek, başka birileri de iyi temennide bulunacak.
*Şimdiden bütün tepkilere de selam olsun!
*Çok geliştirilmiş bir haliyle değil de, temel mantığıyla bu paylaşımda bulunmak istedim!
*Pek bildiğimden değil sadece mantık yürüterek birşeyleri keşfedebildim, herkes yapabilir kanısındayım.
*Aslında uzun uzadıya bir makale veya bir video ile yardımcı olmak isterdim ancak, buna pek vaktim yoktu!
*Kodlardan faydalanmak isteyen arkadaşlara tavsiyem Visual Studio kullanın ve,
*Devexpress eklentisi mutlaka edinin çok fazla alternatif sunuyor, yazılım devi diyebiliriz.
*******************************
*Gelelim kodlama kısmına!
*Sembolik kullanıcı girişi mevcut [Kullanıcı Adı :admin, Parola :12345]
*Şu an için sadece dosyaları çekip güncelleme ve sembolik bir giriş panelinden ibaret olmakla beraber
*Kendinize göre düzenleyebilir dosya yolunu değiştirip kendi sunucu adresinizi ekleyebilirsiniz.
*Dilediğiniz Client sürümüyle çalışır durumda, ben kendi bilgisayarıma göre ayarladım.
*İşin aslı 7X Client'ler için Connector kullanmanın bir anlamı yok,
*Dünyanın En pahallı sunucusunu açsam yine de Connector kullanmayı düşünmedim!
*Not: programı sağlıklı test edebilmeniz için "C:\Program Files (x86)\Electronic Arts\Ultima Online Classic"
kurulu olması lazım, veya böyle bir klasör oluşturup dosyaları o klasörün içinde bulundurmanız gerekiyor!
*Ayrıca dosyaları indireceği yer "C:\Down" diye bir klasörün içine attığını da belirteyim!
*Yukarıda da belirttiğim gibi amacım birileri faydalansın diye, tamamen test amaçlı olduğunu unutmayın!
*Öncelikle kodları şuan için paylaşmamamın nedeni tepkilerinizin ne yönde olacağı!
*Duruma göre Github veya Youtube üzerine odaklanacağımı da belirteyim!
*Bu vesileyle bu güne kadar neden böyle bir paylaşımın yapılmadığını da anlamış oluruz!
*Kısa zaman sonra kodları siz değerli UO müdavimlerine sunacağımdan süpheniz olmasın!
*Herkese selam olsun.........Ve sevgili Uo-Developer sakinleri sizlere söz verdiğim gibi, herkes Connector yapabilsin ve daha da geliştirebilsin diye gerekli kodlar ve ve başlangıç mantığını paylaşıyorum, hataları varsa postun altına yazarsanız yardımcı olmaya çalışırız
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
#region Freeman Uo Connector hakkında temel bilgilendirme
//Programın çalışması için önerilen adımlar
//Anlayanlara çok fazla açıklamaya gerek yok fakat, yeni başlayanlara yardımcı olması açısından birkaç önemli açıklama gereği duydum.
//Bu çalışma Visual Studio 2012 ve Devexpress 2018.2 çok özellikli eklenti Devi diyebileceğimiz programlarla hazırlanmış olup çok fazla gelişmiş bir çalılşma değil bunu da belirtmiş olayım!
//Burada kimseye birşeyler öğretmek gibi bir havada değilim!
//Visual Studio ve gerekli programların kurulu olduğunu varsayarak
//1-Bir adet Form nesnesi Devexpress kuruluysa önerim 'RibbonForm'
//-isteğe bağlı ikinci bir form veya daha fazlasını ekleyebilirsiniz.
//2-Üç adet Button dosyaları 'İndirmek' için 'Giriş' ve formu 'Kapat'mak için
//3-İki adet TextBox 'Kullanıcı Adı' ve 'Parola' için
//4-Sekiz adet Label İndirilen dosya 'Boyut: ve Kb' 'Yüklenen: ve Kb' 'Yüklenecek Dosyalar başlığı' 'Kullanıcı Adı' ve Parola' 'Altta kayan yazı için'
//5-Bir adet ListView 'Uo Dosyaları Mul, Uop, Vs için'
//6-Bir adet ListBox 'Bilgilendirme' yazısı için
//7-Bir adet ProgressBar
//8-İki Adet Timer Birincisi 'ProgressBar' ile ortak çalışması, diğeri ise 'Altta kayan yazı' için
//Hepsi bu kadar iyi çalışmalar dilerim..
#endregion
namespace Connector
{
public partial class Form1 : DevExpress.XtraBars.Ribbon.RibbonForm
{
public Form1()
{
InitializeComponent();
}
#region Download Button
private void btnBasla_Click(object sender, EventArgs e)
{
progressBar1.Value = 100;
WebClient down1 = new WebClient();
down1.DownloadFileCompleted += new AsyncCompletedEventHandler(enddown);
Uri uofile1 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/anim.idx");//<<<---Bu alana sunucu adresini atayın.
down1.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile1 = uofile1.ToString().Substring(uofile1.ToString().LastIndexOf('/') + 1);
down1.DownloadFileAsync(uofile1, ("C:/down/anim.idx"));//<<<---Bu alanda dosyaları indirmesini istediğiniz klasör yolunu belirtin.
//Not:Kod döngüsünü tek fonksiyonda yazmadım, yani dosyaları toplu okumasını uygun görmediğimden!
//Hem cpu yükü artmasın hem de, çökmelere karşı ayrı, ayrı işlesin istedim. Dilerseniz tek fonksiyonla okutabilirsiniz!
WebClient down2 = new WebClient();
progressBar1.Value = 100;
Uri uofile2 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/anim.mul");
down2.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile2 = uofile2.ToString().Substring(uofile2.ToString().LastIndexOf('/') + 1);
down2.DownloadFileAsync(uofile2, ("C:/down/anim.mul"));
WebClient down3 = new WebClient();
progressBar1.Value = 100;
Uri uofile3 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/artLegacyMUL.Uop");
down3.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile3 = uofile3.ToString().Substring(uofile3.ToString().LastIndexOf('/') + 1);
down3.DownloadFileAsync(uofile3, ("C:/down/artLegacyMUL.Uop"));
WebClient down4 = new WebClient();
progressBar1.Value = 100;
Uri uofile4 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/Cliloc.enu");
down4.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile4 = uofile4.ToString().Substring(uofile4.ToString().LastIndexOf('/') + 1);
down4.DownloadFileAsync(uofile4, ("C:/down/Cliloc.enu"));
WebClient down5 = new WebClient();
progressBar1.Value = 100;
Uri uofile5 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/fonts.mul");
down5.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile5 = uofile5.ToString().Substring(uofile5.ToString().LastIndexOf('/') + 1);
down5.DownloadFileAsync(uofile5, ("C:/down/fonts.mul"));
WebClient down6 = new WebClient();
progressBar1.Value = 100;
Uri uofile6 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/gumpartLegacyMUL.uop");
down5.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile6 = uofile6.ToString().Substring(uofile6.ToString().LastIndexOf('/') + 1);
down6.DownloadFileAsync(uofile6, ("C:/down/gumpartLegacyMUL.uop"));
WebClient down7 = new WebClient();
progressBar1.Value = 100;
Uri uofile7 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/gump.def");
down7.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile7 = uofile7.ToString().Substring(uofile7.ToString().LastIndexOf('/') + 1);
down7.DownloadFileAsync(uofile7, ("C:/down/gump.def"));
WebClient down8 = new WebClient();
progressBar1.Value = 100;
Uri uofile8 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/hues.mul");
down8.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile8 = uofile8.ToString().Substring(uofile8.ToString().LastIndexOf('/') + 1);
down8.DownloadFileAsync(uofile8, ("C:/down/hues.mul"));
WebClient down9 = new WebClient();
progressBar1.Value = 100;
Uri uofile9 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/login.cfg");
down9.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile9 = uofile9.ToString().Substring(uofile9.ToString().LastIndexOf('/') + 1);
down9.DownloadFileAsync(uofile9, ("C:/down/login.cfg"));
WebClient down10 = new WebClient();
progressBar1.Value = 100;
Uri uofile10 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/map0LegacyMUL.uop");
down10.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile10 = uofile10.ToString().Substring(uofile10.ToString().LastIndexOf('/') + 1);
down10.DownloadFileAsync(uofile10, ("C:/down/map0LegacyMUL.uop"));
WebClient down11 = new WebClient();
progressBar1.Value = 100;
Uri uofile11 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/multi.idx");
down11.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile11 = uofile11.ToString().Substring(uofile11.ToString().LastIndexOf('/') + 1);
down11.DownloadFileAsync(uofile11, ("C:/down/multi.idx"));
WebClient down12 = new WebClient();
progressBar1.Value = 100;
Uri uofile12 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/multi.mul");
down12.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile12 = uofile12.ToString().Substring(uofile12.ToString().LastIndexOf('/') + 1);
down12.DownloadFileAsync(uofile12, ("C:/down/multi.mul"));
WebClient down13 = new WebClient();
progressBar1.Value = 100;
Uri uofile13 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/prof.txt");
down13.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile13 = uofile13.ToString().Substring(uofile13.ToString().LastIndexOf('/') + 1);
down13.DownloadFileAsync(uofile13, ("C:/down/prof.txt"));
WebClient down14 = new WebClient();
progressBar1.Value = 100;
Uri uofile14 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/skillgrp.mul");
down14.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile14 = uofile14.ToString().Substring(uofile14.ToString().LastIndexOf('/') + 1);
down14.DownloadFileAsync(uofile14, ("C:/down/skillgrp.mul"));
WebClient down15 = new WebClient();
progressBar1.Value = 100;
Uri uofile15 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/Skills.idx");
down15.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile15 = uofile15.ToString().Substring(uofile15.ToString().LastIndexOf('/') + 1);
down15.DownloadFileAsync(uofile15, ("C:/down/Skills.idx"));
WebClient down16 = new WebClient();
progressBar1.Value = 100;
Uri uofile16 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/skills.mul");
down16.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile16 = uofile16.ToString().Substring(uofile16.ToString().LastIndexOf('/') + 1);
down16.DownloadFileAsync(uofile16, ("C:/down/skills.mul"));
WebClient down17 = new WebClient();
progressBar1.Value = 100;
Uri uofile17 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/speech.mul");
down17.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile17 = uofile17.ToString().Substring(uofile17.ToString().LastIndexOf('/') + 1);
down17.DownloadFileAsync(uofile17, ("C:/down/speech.mul"));
WebClient down18 = new WebClient();
progressBar1.Value = 100;
Uri uofile18 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/staidx0.mul");
down18.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile18 = uofile18.ToString().Substring(uofile18.ToString().LastIndexOf('/') + 1);
down18.DownloadFileAsync(uofile18, ("C:/down/staidx0.mul"));
WebClient down19 = new WebClient();
progressBar1.Value = 100;
Uri uofile19 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/statics0.mul");
down19.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile19 = uofile19.ToString().Substring(uofile19.ToString().LastIndexOf('/') + 1);
down19.DownloadFileAsync(uofile19, ("C:/down/statics0.mul"));
WebClient down20 = new WebClient();
progressBar1.Value = 100;
Uri uofile20 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/tileart.uop");
down20.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile20 = uofile20.ToString().Substring(uofile20.ToString().LastIndexOf('/') + 1);
down20.DownloadFileAsync(uofile20, ("C:/down/tileart.uop"));
WebClient down21 = new WebClient();
progressBar1.Value = 100;
Uri uofile21 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/tiledata.mul");
down21.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile21 = uofile21.ToString().Substring(uofile21.ToString().LastIndexOf('/') + 1);
down21.DownloadFileAsync(uofile21, ("C:/down/tiledata.mul"));
WebClient down22 = new WebClient();
progressBar1.Value = 100;
Uri uofile22 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/client.exe");
down22.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile22 = uofile22.ToString().Substring(uofile22.ToString().LastIndexOf('/') + 1);
down22.DownloadFileAsync(uofile22, ("C:/down/client.exe"));
WebClient down23 = new WebClient();
progressBar1.Value = 100;
Uri uofile23 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/Igrping.dll");
down23.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile23 = uofile23.ToString().Substring(uofile23.ToString().LastIndexOf('/') + 1);
down23.DownloadFileAsync(uofile23, ("C:/down/Igrping.dll"));
WebClient down24 = new WebClient();
progressBar1.Value = 100;
Uri uofile24 = new Uri("C:/Program Files (x86)/Electronic Arts/Ultima Online Classic/Binkw32.dll");
down24.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downfile);
string savefile24 = uofile24.ToString().Substring(uofile24.ToString().LastIndexOf('/') + 1);
down24.DownloadFileAsync(uofile24, ("C:/down/Binkw32.dll"));
}
#endregion
#region Cancel
private void btnVazgec_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
#region Login
private void btnLogin_Click(object sender, EventArgs e)
{
string user, password;
user = tbUsername.Text;
password = tbPassword.Text;
if (user == "admin" && password == "12345")
{
MessageBox.Show("Devam et Oyuna Bağlan !", "Giriş Başarılı ", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
string conn;
conn = @"C:\Program Files (x86)\Electronic Arts\Ultima Online Classic\client.exe";
System.Diagnostics.Process.Start(conn);
}
else
{
MessageBox.Show("Hatalı giriş yaptınız! Kullanıcı Adı veya Parola hatalı, Lütfen bilgileri kontrol edip yeniden deneyin!", "KULLANICI GİRİŞİ BAĞLANTI HATASI", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region Download Files & ProgressBar
private void downfile(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
///////////////////////////////////////////////////////////////////
//Bu kısım bir kronometre dakika saniye bazında, çok gerekli görmediğimden devre dışı bıraktım dilerseniz aktif edebilirsiniz.
//Kısacası saniye 60'tan sonra sıfırlanır sürekli döndürür, dakika her 60 saniyede bir artar devam eder bu da progressBar1 ile eş zamanlı çalışır!
//Aktif edilince, dosyaların kullanıcıya ne kadar sürede teslim edildiğini belirtir.
//Unutmadan Timer1 intervali normalde 1 olarak ayarlıdır aşağıdaki kodu aktif ettiğinizde interval 1000 olarak devam eder ve saati devreye sokar!
//Ayrıca aktif olduğunda form üzerinde uygun gördüğünüz bir yere 2 tane 'label' (lblSan ve lblDak) diye isimlendirerek eklemeyi unutmayın!
//////////////////////////////////////////////////////////////////
//lblToplam.Text = e.BytesReceived.ToString();
//lblYuklenen.Text = e.TotalBytesToReceive.ToString();
// timer1.Interval = 1000;
// lblSan.Text = "0";
// lblDak.Text = "0";
//}
//int saniye = 0, dakika = 0;
//private void timer1_Tick(object sender, EventArgs e)
//{
// saniye++;
// if (saniye == 60)
// {
// dakika++;
// saniye = 0;
// }
// lblSan.Text = Convert.ToString(saniye);
// lblDak.Text = Convert.ToString(dakika);
}
#endregion
#region Download Finish
private void enddown(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Şimdi oyuna giriş yapabilirsiniz, iyi oyunlar dileriz..", "OYUN DOSYALARI YÜKLENDİ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
#region Form About
private void barListItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
AboutMe frm = new AboutMe();
frm.Show();
}
#endregion
#region Sailing Text
private void Form1_Load(object sender, EventArgs e)
{
lblScroll.Text = " * BİZİ TERCİH ETTİĞİNİZ İÇİN TEŞEKKÜRLER *, * İYİ OYUNLAR DİLERİZ *";
}
private void timer2_Tick(object sender, EventArgs e)
{
lblScroll.Text = lblScroll.Text.Substring(1) + lblScroll.Text[0].ToString();
}
}
}
#endregion
mahsuni :Para uğruna burada rezil hareketlerde bulunanlar da oldu. Parayla satanlara emeklerinin karşılığı diyebiliriz. Haksızlık etmemek gerekiyor.
Çok teşekkürler para uğruna bu işi yapan insanlar ibret alsınlar
soydemil :Sayın çok bilmiş o zaman siz bir connector paylaşımı yapinda yaptığınız yoruma göre zekanizi ölçelim...
updater özelliği olan ve exe'yi çalıştıran basit bir form. buna connectör demek ne kadar doğru?
para ile yapanlar dümdüz form hizmeti sunmuyor yalnız
|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Tarayıcı Destekli UO temalı ücretsiz tower defense
Son cevap: 13-11 13:23 · Son yazan: Gaia · Mesaj: 5 · Görüntü: 491
|
Ultima Online Genel | 13-11 13:23 | 5 | 491 | |
|
|
Ultima Destek Orjinal 2x 6x Client Destekli Connector Paylaşımı
Son cevap: 11-07 20:36 · Son yazan: illumunati · Mesaj: 4 · Görüntü: 923
|
Client ve Account Sistemleri | 11-07 20:36 | 4 | 923 | |
|
|
OrionUO ya da ClassicUO altyapısı ile Connector yapan?
Son cevap: 09-11 15:11 · Son yazan: Knuth* · Mesaj: 2 · Görüntü: 1933
|
Sarı Sayfalar | 09-11 15:11 | 2 | 1933 | |
|
|
Satılık PVP - FPS ve 6X Connector - Sphere X
Son cevap: 02-10 16:42 · Son yazan: Murderer · Mesaj: 4 · Görüntü: 3778
|
Alım / Satım | 02-10 16:42 | 4 | 3778 | |
|
|
[ÜCRETSİZ] | Sunucu Sahibinin El Kitabı
Son cevap: 04-10 11:12 · Son yazan: venezuela · Mesaj: 12 · Görüntü: 8019
|
Ultima Online Genel | 04-10 11:12 | 12 | 8019 |