Messages

msgsrvcli.H

Hello

First message send from server to any connecting clients or servers.

TYPENameDescription
BYTEId1
WORDVersion

Login

First message send from client to server.

TYPENameDescription
BYTEId0
CHAR[LOGINNAMELENGTH]NameUser name
CHAR[LOGINPASSWDLENGTH]PasswdPassword
BYTEnewUserTrue if user try to create a new user

ServerInfo

Message send from server to client after a successful login.

TYPENameDescription
BYTEId?
DWORDWorldServerAddressIP address
WORDWorldServerPortPort number
DWORDGOSAddressIP address
WORDGOSPortPort number

GOSInfo

Message send from server to worldsrv to inform where to find a gos.

TYPENameDescription
BYTEId?
DWORDGOSAddressIP address
WORDGOSPortPort number

Bye

TYPENameDescription
BYTEId1
WORDreasonSe table of reasons.

Table of reasons

MSGBYE_QUIT
MSGBYE_BADPROTOCOL
MSGBYE_UNKNOWN

GetWorld

TODO: Move this message to command message

Client request to get world sceen.

TYPENameDescription
BYTEId3

Command

Used to send commands that don't need any data.

TYPENameDescription
BYTEId7
WORDcommandSe table of commands.

Table of commands to client

MSGCOMMAND_CLIENTCLEARWORLD

Table of commands to server

PLAYERLOOK_DEFAULT
PLAYERLOOK_UP
PLAYERLOOK_DOWN
PLAYERLOOK_RIGHT
PLAYERLOOK_LEFT
PLAYERLOOK_FORWARD
PLAYERLOOK_BACKWARD
PLAYERMOVE_STEPFORWARD
PLAYERMOVE_STEPBACKWARD
PLAYERMOVE_STEPLEFT
PLAYERMOVE_STEPRIGHT
PLAYERMOVE_MOVEFORWARD
PLAYERMOVE_MOVEBACKWARD
PLAYERMOVE_MOVELEFT
PLAYERMOVE_MOVERIGHT
PLAYERMOVE_RUNFORWARD
PLAYERMOVE_RUNBACKWARD
PLAYERMOVE_RUNLEFT
PLAYERMOVE_RUNRIGHT
USERCOMMAND_0
USERCOMMAND_1
USERCOMMAND_2
USERCOMMAND_3
USERCOMMAND_4
USERCOMMAND_5
USERCOMMAND_6
USERCOMMAND_7
USERCOMMAND_8
USERCOMMAND_9

Viewpoint

Send from server to client, to update the viewpoint.

TYPENameDescription
BYTEId8
6*DWORDposition + direction
DWORDtargetIdWhere viewpoint is connected.

Selection

TODO: Implement use of subobjects

Send from client to server, to get action list for selected object.

TYPENameDescription
BYTEId9
WORDobjectIdUniq identifyer for selected object

Action

TODO: Implement use of subobjects

Send from client to server, to execute a action on a object.

TYPENameDescription
BYTEId10
WORDobjectIdUniq identifyer for object
WORDactionIdUniq identifyer for action

PlayerInfo

Send from server to client, to change master cell. Client then ask the world server to send world info for new cells.

TYPENameDescription
BYTEId?
DWORDmasterCellIdUniq identifyer for master cell.

msgactionlist.H

ActionList

Send from server to client, to inform client about leagal actions for a object.

TYPENameDescription
BYTEId11
WORDobjectIdUniq identifyer for object
WORDnumActionsNumber of actions
*numActions
WORDactionId
STRINGactionName

msgworld.H

Section

Cell

RemoveCell

Object

RemoveObject

ChangeMasterCell

PVCell

UpdatePosition

Send from server to client, to update the position to a geometry object in the client world.

TYPENameDescription
BYTEId5
WORDworldObjectIdUniq identifyer for this object
3*DWORDposition

UpdateDirection

Send from server to client, to update the direction to a geometry object in the client world.

TYPENameDescription
BYTEId6
WORDworldObjectIdUniq identifyer for this object
3*DWORDdirection

UpdateHierarchy

msgmsg.h

Msg

Text message

TYPENameDescription
BYTEId12
BUF[BodyLength]msgMessage

msgserver.H

ServerLogin

Send from a server to tell inet address to use when connecting to that server.

TYPENameDescription
BYTEId50
DWORDServerAddressIP address
WORDServerPortPort number

msggos.H

GOSError

Errors from GOS to client.

TYPENameDescription
BYTEId101
BYTEerrorError number se table of errors

Table of errors

?

GOSRequest

Request from client to GOS to get a object.

TYPENameDescription
BYTEId100
BYTErequestTypeSe table of request types
WORDobjectIdRequested object

Table of request types

GOSREQUEST_GEOMETRY
GOSREQUEST_MATERIAL
GOSREQUEST_TEXTURE

Geometry

Material

Texture

msgsrvgos.H

Empty file