Will this work?
Code:
Open SQLyog and open vbgore database and rename "banned_ips" to "banned_names"
Open table of "banned_name" by using "Alter Table" and change "ip" to "name" and change the data settings to as follow:
Datatype: varchar
Len 255
Collation latin1_swedish_ci
PK? checked
Not Null? checked
Comment Name
General.bas
Find
Sub Data_GM_BanIP(ByRef rBuf As DataBuffer, ByVal UserIndex As Integer)
'*****************************************************************
'GM bans an IP
'<IP(S)><Reason(S)>
'More info: http://www.vbgore.com/GameServer.TCP.Data_GM_BanIP
'*****************************************************************
Dim TempS() As String
Dim IP As String
Dim Reason As String
Dim i As Long
Log "Call Data_GM_BanIP([" & ByteArrayToStr(rBuf.Get_Buffer) & "]," & UserIndex & ")", CodeTracker '//\\LOGLINE//\\
'Get the IP and reason
IP = rBuf.Get_String
Reason = rBuf.Get_String
'Confirm that the user has a high enough GM level
If UserList(UserIndex).Flags.GMLevel = 0 Then Exit Sub
'Check for a reason and IP
If LenB(Reason) = 0 Then Exit Sub
If LenB(IP) = 0 Then Exit Sub
'Check if the IP is in the database
DB_RS.Open "SELECT ip FROM banned_ips WHERE `ip`='" & IP & "'", DB_Conn, adOpenStatic, adLockOptimistic
If Not DB_RS.EOF Then
'IP already exists
DB_RS.Close
Data_Send ToIndex, UserIndex, cMessage(98).Data
Exit Sub
End If
DB_RS.Close
'Split up the IP values
TempS = Split(IP, ".")
If UBound(TempS) <> 3 Then Exit Sub
'Check for a valid value on each slot
For i = 0 To 3
If Val(TempS(i)) < 0 Or Val(TempS(i)) > 255 Then Exit Sub
Next i
'Add the IP and reason to the database
DB_RS.Open "SELECT * FROM banned_ips WHERE 0=1", DB_Conn, adOpenStatic, adLockOptimistic
DB_RS.AddNew
DB_RS!IP = IP
DB_RS!Reason = Reason
DB_RS.Update
DB_RS.Close
'Send the success message
Data_Send ToIndex, UserIndex, cMessage(99).Data
'Check if anyone online is affected by the ban
For i = 1 To LastUser
If UserList(i).Flags.UserLogged Then
If Server_IPisBanned(frmMain.GOREsock.Address(i), Reason) Then
ConBuf.PreAllocate 3 + Len(Reason)
ConBuf.Put_Byte DataCode.Server_Message
ConBuf.Put_Byte 100
ConBuf.Put_String Reason
Data_Send ToIndex, UserIndex, ConBuf.Get_Buffer
Data_Send_Buffer UserIndex
Server_CloseSocket UserIndex
End If
End If
Next i
End Sub
and replace it with this:
Sub Data_GM_BanIP(ByRef rBuf As DataBuffer, ByVal UserIndex As Integer)
'*****************************************************************
'GM bans an Name
'<IP(S)><Reason(S)>
'More info: http://www.vbgore.com/GameServer.TCP.Data_GM_BanName
'*****************************************************************
Dim TempS() As String
Dim Name As String
Dim Reason As String
Dim i As Long
Log "Call Data_GM_BanName([" & ByteArrayToStr(rBuf.Get_Buffer) & "]," & UserIndex & ")", CodeTracker '//\\LOGLINE//\\
'Get the IP and reason
Name = rBuf.Get_String
Reason = rBuf.Get_String
'Confirm that the user has a high enough GM level
If UserList(UserIndex).Flags.GMLevel = 0 Then Exit Sub
'Check for a reason and Name
If LenB(Reason) = 0 Then Exit Sub
If LenB(Name) = 0 Then Exit Sub
'Check if the name is in the database
DB_RS.Open "SELECT Name FROM banned_names WHERE `name`='" & Name & "'", DB_Conn, adOpenStatic, adLockOptimistic
If Not DB_RS.EOF Then
'Name already exists
DB_RS.Close
Data_Send ToIndex, UserIndex, cMessage(98).Data
Exit Sub
End If
DB_RS.Close
'Add the Name and reason to the database
DB_RS.Open "SELECT * FROM banned_names WHERE 0=1", DB_Conn, adOpenStatic, adLockOptimistic
DB_RS.AddNew
DB_RS!Name = Name
DB_RS!Reason = Reason
DB_RS.Update
DB_RS.Close
'Send the success message
Data_Send ToIndex, UserIndex, cMessage(99).Data
'Check if anyone online is affected by the ban
For i = 1 To LastUser
If UserList(i).Flags.UserLogged Then
If Server_IPisBanned(frmMain.GOREsock.Address(i), Reason) Then
ConBuf.PreAllocate 3 + Len(Reason)
ConBuf.Put_Byte DataCode.Server_Message
ConBuf.Put_Byte 100
ConBuf.Put_String Reason
Data_Send ToIndex, UserIndex, ConBuf.Get_Buffer
Data_Send_Buffer UserIndex
Server_CloseSocket UserIndex
End If
End If
Next i
End Sub