mirror of
https://github.com/SantaSpeen/BeamMP-Server.git
synced 2025-08-18 08:15:37 +00:00
fixed Crash issue added serverVehicleID and gameVehicleID
This commit is contained in:
parent
4503338378
commit
e2cae1da59
@ -9,14 +9,16 @@ void NameRequest(ENetPeer*peer){
|
||||
strlen ("NameRequest") + 1,
|
||||
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
|
||||
enet_peer_send(peer, 0, packet);
|
||||
|
||||
}
|
||||
|
||||
void SendToAll(ENetHost *server,ENetEvent event){
|
||||
ENetPacket* packet;
|
||||
for (int i = 0; i < server->connectedPeers; i++) {
|
||||
//if (&server->peers[i] != event.peer) { if you don't want to send it to the person ho just connected
|
||||
char Data[30];
|
||||
char Data[500];
|
||||
sprintf(Data,"There is %d Players Connected!",server->connectedPeers);
|
||||
printf("test %d\n",server->peers[i].serverVehicleID);
|
||||
packet = enet_packet_create(Data, strlen(Data)+1, 0);
|
||||
enet_peer_send(&server->peers[i], 0, packet);
|
||||
enet_host_flush(server);
|
||||
|
@ -8,11 +8,14 @@ using namespace std;
|
||||
char Name[20] = "";
|
||||
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
|
||||
enet_uint8* Data = packet->data;
|
||||
if(strcmp((char*)peer->data,"Client information")==0){ //Checks if the Client has no name
|
||||
if(strcmp((char*)peer->Name,"Client information")==0){ //Checks if the Client has no name
|
||||
sprintf(Name,"%s",Data);
|
||||
peer->data = (void *)Name;
|
||||
peer->Name = (void *)Name;
|
||||
char Info[100];
|
||||
sprintf(Info,"Client Name is %s ID : %u\n",Name,peer->connectID); //ID System
|
||||
info(Info); //Logs the data
|
||||
peer->serverVehicleID = (int)peer->connectID; //test to see if it works
|
||||
sprintf(Info,"%s ServerVehicleID : %d GameVehicleID : %d",Name,peer->serverVehicleID,peer->gameVehicleID[0]);
|
||||
info(Info);
|
||||
}
|
||||
}
|
@ -21,7 +21,9 @@ void host_server(ENetHost *server) {
|
||||
printf("A new client connected from %x:%u.\n", event.peer->address.host, event.peer->address.port); //Help xD
|
||||
//the data should be the client info could be name for now it's Client information
|
||||
NameRequest(event.peer);
|
||||
event.peer->data = (void *)"Client information";
|
||||
event.peer->Name = (void *)"Client information";
|
||||
event.peer->gameVehicleID[0] = 15;
|
||||
event.peer->serverVehicleID = 17;
|
||||
|
||||
SendToAll(server,event);
|
||||
|
||||
@ -33,14 +35,14 @@ void host_server(ENetHost *server) {
|
||||
break;
|
||||
|
||||
case ENET_EVENT_TYPE_DISCONNECT:
|
||||
printf ("%s disconnected.\n", (char *)event.peer->data);
|
||||
printf ("%s disconnected.\n", (char *)event.peer->Name);
|
||||
// Reset the peer's client information.
|
||||
event.peer->data = NULL;
|
||||
event.peer->Name = NULL;
|
||||
break;
|
||||
|
||||
case ENET_EVENT_TYPE_DISCONNECT_TIMEOUT:
|
||||
printf ("%s timed out.\n", (char *)event.peer->data);
|
||||
event.peer->data = NULL;
|
||||
printf ("%s timed out.\n", (char *)event.peer->Name);
|
||||
event.peer->Name = NULL;
|
||||
break;
|
||||
|
||||
case ENET_EVENT_TYPE_NONE: break;
|
||||
|
@ -637,7 +637,9 @@ extern "C" {
|
||||
enet_uint8 outgoingSessionID;
|
||||
enet_uint8 incomingSessionID;
|
||||
ENetAddress address; /**< Internet address of the peer */
|
||||
void * data; /**< Application private data, may be freely modified */
|
||||
void * Name; /**< Application private data, may be freely modified */
|
||||
int gameVehicleID[50]; //added By Anonymous275
|
||||
int serverVehicleID; //added By Anonymous275
|
||||
ENetPeerState state;
|
||||
ENetChannel * channels;
|
||||
size_t channelCount; /**< Number of channels allocated for communication with peer */
|
||||
@ -3438,11 +3440,11 @@ extern "C" {
|
||||
}
|
||||
|
||||
void * enet_peer_get_data(ENetPeer *peer) {
|
||||
return (void *) peer->data;
|
||||
return (void *) peer->Name;
|
||||
}
|
||||
|
||||
void enet_peer_set_data(ENetPeer *peer, const void *data) {
|
||||
peer->data = (enet_uint32 *) data;
|
||||
void enet_peer_set_data(ENetPeer *peer, const void *Name) {
|
||||
peer->Name = (enet_uint32 *) Name;
|
||||
}
|
||||
|
||||
void * enet_packet_get_data(ENetPacket *packet) {
|
||||
@ -4417,7 +4419,7 @@ extern "C" {
|
||||
currentPeer->host = host;
|
||||
currentPeer->incomingPeerID = currentPeer - host->peers;
|
||||
currentPeer->outgoingSessionID = currentPeer->incomingSessionID = 0xFF;
|
||||
currentPeer->data = NULL;
|
||||
currentPeer->Name = NULL;
|
||||
|
||||
enet_list_clear(¤tPeer->acknowledgements);
|
||||
enet_list_clear(¤tPeer->sentReliableCommands);
|
||||
|
@ -32,6 +32,8 @@ int main() {
|
||||
DebugData(); //Prints Debug Data
|
||||
}
|
||||
setLoggerLevel("ALL");
|
||||
|
||||
|
||||
ServerMain(Port, MaxPlayers);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user