Hey everyone ^_^ 3rd tut now ;) only my engine and my konfuze patch have this feature [I think], but I wnat you guys to have it , so be happy lol ^.^
What this feature does : This will let you choose to connect to 3 different servers, with 3 different IP Addresses...kinda like mirrors or worlds ;) ------------ :: CLIENT SIDE::
Ok...make a form called frmServerChooser and make it look somewhat like this, make sure the form name and the command names are proper ;)
Now, open up the modGameLogic [Client] and find Sub Main() and look at the end!
Replace this code :
Call TcpInit frmMainMenu.Visible = True frmSendGetData.Visible = False
With this:
Dim Filename As String Filename = App.Path + "\MultiServer.ini" ServerOnOff = ReadINI("MULTISERVER", "MULTISERVER", Filename) If ServerOnOff = "Off" Then 'Check if Multi-Server is enabled Call TcpInit frmMainMenu.Visible = True frmSendGetData.Visible = False Else frmServerChooser.Show End If
Now make a module called ModServerOptions and put this text in it :
'Server Variables Public ServerOnOff As String Public ServerUsed As Integer 'Server1 Public Server1Name As String Public Server1IP As String Public Server1Port As String 'Server2 Public Server2Name As String Public Server2IP As String Public Server2Port As String 'Server3 Public Server3Name As String Public Server3IP As String Public Server3Port As String
Good! Now in the same folder as your client, make a file called MultiServer.ini with the following text in it :
[MULTISERVER] 'Type either on or off for the multi server option 'Also, if you dont want a server to appear, erase the information 'for it ;) MULTISERVER=ON [SERVER1] SERVER1NAME=Server 1 Name SERVER1IP=Server 1 Ip SERVER1PORT=Server 1 Port [SERVER2] SERVER2NAME=Server 2 Name SERVER2IP=Server 2 IP SERVER2PORT=Server 2 Port [SERVER3] SERVER3NAME=Server 3 Name SERVER3IP=Server 3 IP SERVER3PORT=Server 3 Port
Good!Now go to frmServerChooser and replace all the code with this :
Private Sub cmdS1_Click() ServerUsed = 1 Call TcpInit   ; 'Initiliaze original settings frmServerChooser.Visible = False frmMainMenu.Visible = True frmSendGetData.Visible = False End Sub
Private Sub cmdS2_Click() ServerUsed = 2 Call TcpInit   ; 'Initiliaze original settings frmServerChooser.Visible = False frmMainMenu.Visible = True frmSendGetData.Visible = False End Sub
Private Sub cmdS3_Click() ServerUsed = 3 Call TcpInit   ; 'Initiliaze original settings frmServerChooser.Visible = False frmMainMenu.Visible = True frmSendGetData.Visible = False End Sub
Private Sub Form_Load() Dim GameName As String Dim Filename As String Filename = App.Path & "\config.ini" Dim Serverloc As String Serverloc = App.Path & "\MultiServer.ini" If FileExist("config.ini") Then GameName = ReadINI("GAMECONFIG", "GAME_NAME", Filename) Else GameName = "" Call WriteINI("GAMECONFIG", "GAME_NAME", GameName, (App.Path & "\config.ini")) End If frmServerChooser.Caption = GameName & " - Please Pick A Server" 'Server1 Server1Name = ReadINI("Server1", "Server1Name", Serverloc) Server1IP = ReadINI("Server1", "Server1IP", Serverloc) Server1Port = ReadINI("Server1", "Server1Port", Serverloc) 'Server2 Server2Name = ReadINI("Server2", "Server2Name", Serverloc) Server2IP = ReadINI("Server2", "Server2IP", Serverloc) Server2Port = ReadINI("Server2", "Server2Port", Serverloc) 'Server3 Server3Name = ReadINI("Server3", "Server3Name", Serverloc) Server3IP = ReadINI("Server3", "Server3IP", Serverloc) Server3Port = ReadINI("Server3", "Server3Port", Serverloc) If Server1IP <> "" Then cmdS1.Caption = Server1Name Else cmdS1.Caption = "Server Disabled" cmdS1.Enabled = False End If If Server2IP <> "" Then cmdS2.Caption = Server2Name Else cmdS2.Caption = "Server Disabled" cmdS2.Enabled = False End If If Server3IP <> "" Then cmdS3.Caption = Server3Name Else cmdS3.Caption = "Server Disabled" cmdS3.Enabled = False End If Beep frmServerChooser.Show End Sub
Now for the last thing, go to modClientTCp, and find TCPInit, and replace :
SEP_CHAR = Chr(0) END_CHAR = Chr(237) PlayerBuffer = "" Dim Filename As String Filename = App.Path & "\config.ini"
frmMirage.Socket.RemoteHost = ReadINI("IPCONFIG", "IP", Filename) frmMirage.Socket.RemotePort = Val(ReadINI("IPCONFIG", "PORT", FileName))
with the following code:
SEP_CHAR = Chr(0) END_CHAR = Chr(237) PlayerBuffer = ""
Dim IP As String Dim Port As String Dim Filename As String Dim ServerName As String Filename = App.Path & "\config.ini" ServerName = App.Path & "\MultiServer.ini" If ServerOnOff = "Off" Then If FileExist("config.ini") Then IP = ReadINI("IPCONFIG", "IP", Filename) Port = ReadINI("IPCONFIG", "PORT", Filename) Else IP = "0.0.0.0" Port = 0 Call WriteINI("IPCONFIG", "IP", IP, (App.Path & "\config.ini")) Call WriteINI("IPCONFIG", "PORT", Port, (App.Path & "\config.ini")) End If ElseIf ServerUsed = 1 Then IP = ReadINI("SERVER1", "SERVER1IP", ServerName) Port = ReadINI("SERVER1", "SERVER1PORT", ServerName) ElseIf ServerUsed = 2 Then IP = ReadINI("SERVER2", "SERVER2IP", ServerName) Port = ReadINI("SERVER2", "SERVER2PORT", ServerName) ElseIf ServerUsed = 3 Then IP = ReadINI("SERVER3", "SERVER3IP", ServerName) Port = ReadINI("SERVER3", "SERVER3PORT", ServerName) End If
and you are done! ^_^ Hope you enjoyed the tut. If you have any questions or comments, please post them here! ~JokeOfWeek
|