All pastes #1929 Raw Edit

purebasic server

public text v1 · immutable
#1929 ·published 2004-11-05 11:53 UTC
rendered paste body
OpenConsole()
ConsoleTitle("Frig - Frags Server")

If InitNetwork() = 0
  PrintN("Error: Failed to initialise.")
  End
EndIf

Port = 6666
Buffer = AllocateMemory(1000)

If CreateNetworkServer(Port)

  PrintN("Server running on port "+Str(Port))
  
  Repeat
      
    SEvent.l = NetworkServerEvent()
  
    If SEvent
    
      ClientID = NetworkClientID()
  
      Select SEvent
      
        Case 1
          Print("Player joined. Player number is "+Str(ClientID))
  
        Case 2
          ReceiveNetworkData(ClientID, Buffer, 1000)
          
           Select ;first byte in data (how?)
           Case 1
           Gosub login
           Case 2
           Gosub register_user
           Case 3
           Gosub register_account
           Case 4
           Gosub move
           Case 5
           Gosub buy
           Case 6
           Gosub attack
           Case 7
           Gosub logout
           EndSelect
           
        Case 3
          PrintN("OMG HAXOR!")
  
        Case 4
          PrintN("Client "+Str(ClientID)+" has closed the connection... what a noob")
    
      EndSelect
    EndIf
    
  Until Asc(Inkey())=27
  
  CloseNetworkServer()
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End


login:
username$=""
password$=""
;For u=4 To [byte 2]
;username$=username$+chr$([byte u])
;Next u
;For p=len(username)+4 To len(username)+4+[byte 3]
;password$=password$+chr$([byte u])
;Next p
;if openfile(userid(),username$+".mem")
; blah blah... do this later... blah
;endif
Return

register_user:
Return

register_account:
Return

move:
Return

buy:
Return

Attack:
Return

Logout:
Return