Neler yeni

Foruma hoş geldin, Ziyaretçi

Silkroad Lobby | En İyi Silkroad Destek Forumu | Best Silkroad Support Forum | Silkroad Private Server Tanıtım Advertising | Phbot | Mbot | Sbot
Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Character Controller(Ban ip)

Admin

Silkroad Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Konular
30,467
Mesajlar
30,764
Tepkime puanı
43
Sro Yaşı
4 yıl 24 gün
Trophy Puan
48
Konum
Web sitesi
Sro Gold
310,114
Hey Epvp

i found this somewhere so i wanted share it with you.

I saw some of members was asking about ban charactername by ip.

Therefor i did this simple tool to help you.

Very simple to use.


First lets use Capi query.

1st Step
PHP Code:[/LEFT]
<code style="white-space:nowrap"> <!-- php buffer start --><code> USE Log_DB
<br>CREATE TABLE _IPLogs (
<br>[No.] int IDENTITY(1,1) PRIMARY KEY, <br>[CharID] int, <br>[Charname] varchar(max), <br>[IP] varchar(max), <br>[Date] datetime <br>); <br> </code><!-- php buffer end --> </code> 2nd Step

PHP Code:
<code style="white-space:nowrap"> <!-- php buffer start --><code> USE [Log_DB] <br>GO
<br>SET ANSI_NULLS ON <br>GO <br>SET QUOTED_IDENTIFIER ON <br>GO

<br>ALTER procedure [dbo].[_AddLogChar] <br>@CharID int, <br>@EventID tinyint, <br>@Data1 int, <br>@Data2 int, <br>@strPos varchar(64), <br>@Desc varchar(128) <br>as
<br> IF(@EventID = 4 OR @EventID = 6) <br> BEGIN
<br> declare @len_pos int <br> declare @len_desc int <br> set @len_pos = len(@strPos) <br> set @len_desc = len(@Desc) <br> if (@len_pos &gt; 0 and @len_desc &gt; 0) <br> begin <br> insert _LogEventChar values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos, @Desc) <br> end <br> else if (@len_pos &gt; 0 and @len_desc = 0) <br> begin <br> insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, EventPos) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos) <br> end <br> else if (@len_pos = 0 and @len_desc &gt; 0) <br> begin <br> insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, strDesc) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @Desc) <br> end <br> else <br> begin <br> insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2) values(@CharID, GetDate(), @EventID, @Data1, @Data2) <br> end <br> <br> --For the new IPLog table <br> Declare @DynIP varchar(max); <br> exec @DynIP = SRO_VT_ACCOUNT.dbo.split_ip @Data2 <br> INSERT INTO _IPLogs (CharID,Charname,IP,[Date]) VALUES (@CharID, (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE()) <br> -- END
<br> END <br> </code><!-- php buffer end --> </code>
3rd Step

PHP Code:
<code style="white-space:nowrap"> <!-- php buffer start --><code> use [Log_DB] <br>CREATE TABLE _BannedIPs ( <br>[No.] int PRIMARY KEY IDENTITY (1,1), <br>[IP] varchar(max) NOT NULL <br>); <br> </code><!-- php buffer end --> </code> 4th Step

PHP Code:
<code style="white-space:nowrap"> <!-- php buffer start --><code> USE [SRO_VT_ACCOUNT] <br>GO <br>SET ANSI_NULLS ON <br>GO <br>SET QUOTED_IDENTIFIER ON <br>GO
<br>CREATE PROCEDURE [dbo].[_BannPlayerSP]
<br>@CharName varchar(max), <br>@Reason varchar(max)
<br>as <br>-------------------------------- <br>DECLARE @ChrID INT; <br>DECLARE @AccJID INT; <br>---------------------------------
<br>SET @ChrID=(SELECT CharID FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharName16=@CharName) <br> SET @AccJID=(SELECT UserJID FROM SRO_VT_SHARD_INIT.dbo._User WHERE CharID=@ChrID) <br> <br>----------------------
<br>DECLARE <br> @ID VARCHAR(64) = (Select STRuserID FROM TB_User Where JID = @AccJID), <br> @Begin DATETIME = GETDATE()-1, <br> @End DATETIME = GETDATE()+3650

<br>INSERT [dbo].[_Punishment] <br>( <br>[UserJID], <br>[Type], <br>[Executor], <br>[Shard], <br>[CharName], <br>[CharInfo], <br>[PosInfo] , <br>[Guide], <br>[Description], <br>[RaiseTime], <br>[BlockStartTime], <br>[BlockEndTime], <br>[PunishTime], <br>[Status] <br>) <br>VALUES <br>( <br>@AccJID, <br>1, <br>1, <br>0, <br>@CharName, <br>1, <br>1, <br>@Reason, <br>@Reason, <br>@Begin, <br>@Begin, <br>@End, <br>@End, <br>0); <br>---------------------------------------------------------- <br>DECLARE @ReasonID INT <br>SET @ReasonID = <br>(Select SerialNo FROM _Punishment Where UserJID = @AccJID) <br>---------------------------------------------------------- <br>INSERT [dbo].[_BlockedUser] <br>( <br>[UserJID], <br>[UserID], <br>[Type], <br>[SerialNo], <br>[TimeBegin], <br>[TimeEnd]) <br>VALUES <br>( <br>@AccJID, <br>@ID, <br>1, <br>@ReasonID, <br>@Begin, <br>@End);
<br>----------------------------------------------------------------- <br>SELECT StrUserID FROM TB_User WHERE JID = @AccJID <br>----------------------------------------------------------------- <br> </code><!-- php buffer end --> </code> Last Step

PHP Code:
<code style="white-space:nowrap"> <!-- php buffer start --><code> USE [Log_DB] <br>GO
<br>SET ANSI_NULLS ON <br>GO <br>SET QUOTED_IDENTIFIER ON <br>GO

<br>ALTER procedure [dbo].[_AddLogChar] <br>@CharID int, <br>@EventID tinyint, <br>@Data1 int, <br>@Data2 int, <br>@strPos varchar(64), <br>@Desc varchar(128) <br>as
<br> IF(@EventID = 4 OR @EventID = 6) <br> BEGIN
<br> declare @len_pos int <br> declare @len_desc int <br> set @len_pos = len(@strPos) <br> set @len_desc = len(@Desc) <br> if (@len_pos &gt; 0 and @len_desc &gt; 0) <br> begin <br> insert _LogEventChar values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos, @Desc) <br> end <br> else if (@len_pos &gt; 0 and @len_desc = 0) <br> begin <br> insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, EventPos) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos) <br> end <br> else if (@len_pos = 0 and @len_desc &gt; 0) <br> begin <br> insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, strDesc) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @Desc) <br> end <br> else <br> begin <br> insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2) values(@CharID, GetDate(), @EventID, @Data1, @Data2) <br> end <br> <br> --For the new IPLog table <br> Declare @DynIP varchar(max); <br> exec @DynIP = SRO_VT_ACCOUNT.dbo.split_ip @Data2 <br> INSERT INTO _IPLogs (CharID,Charname,IP,[Date]) VALUES (@CharID, (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE()) <br> -- END <br> -- Banned IP stuff <br> IF exists (SELECT IP FROM _BannedIPs WHERE IP like @DynIP) <br> BEGIN <br> Declare @Charname varchar(max) = (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID) <br> <br> exec SRO_VT_ACCOUNT.dbo._BannPlayerSP @Charname,'usage of a banned IP' <br> -- END banned IP stuff <br> END
<br> END <br> </code><!-- php buffer end --> </code> P.S: Change your database names if different.

Screen shot of the tool







Credits not for me.

Character Controller (Ban IP) – Silkroad Online Özel Sunucularda Güvenlik ve Denetim

Silkroad Online oyun dünyasında özellikle özel sunucu (private server) deneyimi yaşayan oyuncular için Character Controller kavramı büyük önem taşır. Bu sistem genellikle bir karakterin izinsiz şekilde çoklu hesaplarla veya bot yazılımlarıyla kontrol edilmesini engellemek amacıyla geliştirilmiştir. Ancak bu sistemin en etkili güvenlik mekanizmalarından biri de IP bazlı banlama özelliğidir.
Character Controller nedir?
Character Controller, Silkroad Online özel sunucularında yöneticilerin ya da güvenlik ekiplerinin oyun içi karakter hareketlerini izleyebilmesini ve gerektiğinde müdahale edebilmesini sağlayan bir yönetim aracıdır. Bu araç sayesinde:
- Aynı IP adresinden birden fazla hesabın aynı anda aktif olması
- Bot programları (phBot, mBot, sBot vb.) ile otomatik oynatılan karakterler
- Hileli ekipman kullanımı veya yasadışı ticaret girişimleri
gibi durumlar kolayca tespit edilebilir.
Ban IP Sistemi Nasıl Çalışır?
Character Controller entegre edildiği sistemlerde, belirli kurallara aykırı davranış sergileyen bir karakter tespit edildiğinde, ilgili IP adresi otomatik olarak kara listeye alınabilir. Bu işlem genellikle aşağıdaki adımlarla gerçekleşir:
1. Şüpheli aktivite tespit edilir (örneğin 3 farklı hesap aynı anda aynı bölgede seviye atıyor).
2. Karakterin bağlı olduğu IP adresi loglanır.
3. Yönetim paneli üzerinden bu IP’ye erişim engellenir.
4. Engellenen IP’den gelen tüm bağlantılar reddedilir; bu hem yeni hesap açmayı hem de mevcut hesaplara giriş yapmayı önler.
Neden Ban IP Gereklidir?
Özel sunucularda haksız rekabet ortamı yaratan bot kullanıcıları, oyun ekonomisini bozarak normal oyuncuların keyfini kaçırmaktadır. Özellikle Silkroad Lobby gibi destek forumlarında sıkça dile getirilen şikayetler arasında:
- Pazar fiyatları manipülasyonu
- PvP alanlarında adil olmayan avantaj sağlanması
- Drop oranlarının dengesiz dağılımı
yer alır. İşte tam da bu noktada Character Controller ile entegre çalışan Ban IP sistemi, sunucunun adil ve keyifli kalmasını sağlar.
Vietnam Silkroad (vSRO) ve TR SRO Uyumlu Çözümler
Hem Vietnam Silkroad (vSRO) hem de Türkiye merkezli TR SRO sunucuları için geliştirilen bu tür güvenlik çözümleri, yerel veri tabanı yapılarına ve oyun dosyalarına göre özelleştirilmelidir. Örneğin vSRO sürümünde kullanılan Guard sistemleriyle uyumlu çalışacak şekilde tasarlanmış bir Character Controller, bot saldırılarına karşı çok daha etkili sonuçlar verebilir.
Dikkat Edilmesi Gerekenler
- Aynı evde birden fazla oyuncu varsa IP banlaması adil olmayabilir. Bu durumda MAC adresi veya hesap doğrulama yöntemleri tercih edilmelidir.
- Yanlış pozitif (false positive) durumlarını önlemek için log analizi mutlaka yapılmalıdır.
- Ban kaldırma talepleri için net bir itiraz süreci oluşturulmalı ve Silkroad Lobby gibi platformlarda duyurulmalıdır.
Sonuç
Character Controller ve Ban IP sistemi, Silkroad Online özel sunucularının güvenliğini sağlamak adına vazgeçilmez bir ikilidir. Özellikle phBot, mBot gibi bot yazılımlarının yaygınlaşmasıyla birlikte bu tür önlemler artık bir lüks değil, zorunluluktur. Oyuncuların güvenli, adil ve eğlenceli bir ortamda vakit geçirmesi için bu sistemlerin doğru şekilde entegre edilmesi şarttır.


Character Controller (IP Ban) – Security and Control in Silkroad Online Private Servers

For players immersed in the world of Silkroad Online—particularly those on private servers—the concept of Character Controller holds significant importance. This system is primarily designed to prevent unauthorized control of characters through multi-accounting or automated bot software. One of its most effective security mechanisms is the IP-based banning feature.
What Is Character Controller?
Character Controller is an administrative tool used in Silkroad Online private servers that enables moderators or security teams to monitor in-game character activity and intervene when necessary. With this tool, administrators can easily detect:
- Multiple accounts active simultaneously from the same IP address
- Characters operated via automation tools (such as phBot, mBot, sBot, etc.)
- Use of cheating gear or illicit trading attempts
How Does the IP Ban System Work?
When suspicious behavior is detected by the Character Controller, the associated IP address can be automatically blacklisted. This process typically follows these steps:
1. Suspicious activity is flagged (e.g., three different accounts leveling up simultaneously in the same zone).
2. The IP address linked to the character is logged.
3. The admin panel blocks access from that IP.
4. All connection attempts from the banned IP are rejected—preventing both new account creation and login to existing accounts.
Why Is IP Banning Necessary?
Bot users create unfair competition on private servers, disrupting the game economy and diminishing the experience for legitimate players. Common complaints frequently raised on support forums like Silkroad Lobby include:
- Market price manipulation
- Unfair advantages in PvP zones
- Imbalanced loot distribution
This is precisely where an integrated Character Controller with IP Ban functionality ensures a fair and enjoyable environment.
Solutions Compatible with Vietnam Silkroad (vSRO) and TR SRO
Security solutions tailored for both Vietnam Silkroad (vSRO) and Turkey-based TR SRO servers must be customized to align with local database structures and game files. For instance, a Character Controller designed to work seamlessly with vSRO's Guard systems can deliver far more effective protection against bot attacks.
Important Considerations
- If multiple players share the same household network, IP bans may be unfair. In such cases, MAC address filtering or account verification methods should be preferred.
- Log analysis must always be performed to avoid false positives.
- A clear appeal process for ban removals should be established and announced on platforms like Silkroad Lobby.
Conclusion
Character Controller and IP Ban systems form an indispensable duo for securing Silkroad Online private servers. With the rising prevalence of automation tools like phBot and mBot, such protective measures are no longer optional—they are essential. Proper integration of these systems is crucial to ensuring players enjoy a safe, fair, and entertaining gaming environment.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kaydol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Üye ol
Giriş Yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş Yap

Tema düzenleyici

Tema özelletirmeleri