mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2026-04-23 00:17:00 +00:00
fixed Crash issue added serverVehicleID and gameVehicleID
This commit is contained in:
@@ -9,14 +9,16 @@ void NameRequest(ENetPeer*peer){
|
|||||||
strlen ("NameRequest") + 1,
|
strlen ("NameRequest") + 1,
|
||||||
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
|
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
|
||||||
enet_peer_send(peer, 0, packet);
|
enet_peer_send(peer, 0, packet);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendToAll(ENetHost *server,ENetEvent event){
|
void SendToAll(ENetHost *server,ENetEvent event){
|
||||||
ENetPacket* packet;
|
ENetPacket* packet;
|
||||||
for (int i = 0; i < server->connectedPeers; i++) {
|
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
|
//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);
|
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);
|
packet = enet_packet_create(Data, strlen(Data)+1, 0);
|
||||||
enet_peer_send(&server->peers[i], 0, packet);
|
enet_peer_send(&server->peers[i], 0, packet);
|
||||||
enet_host_flush(server);
|
enet_host_flush(server);
|
||||||
|
|||||||
@@ -8,11 +8,14 @@ using namespace std;
|
|||||||
char Name[20] = "";
|
char Name[20] = "";
|
||||||
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
|
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
|
||||||
enet_uint8* Data = packet->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);
|
sprintf(Name,"%s",Data);
|
||||||
peer->data = (void *)Name;
|
peer->Name = (void *)Name;
|
||||||
char Info[100];
|
char Info[100];
|
||||||
sprintf(Info,"Client Name is %s ID : %u\n",Name,peer->connectID); //ID System
|
sprintf(Info,"Client Name is %s ID : %u\n",Name,peer->connectID); //ID System
|
||||||
info(Info); //Logs the data
|
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
|
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
|
//the data should be the client info could be name for now it's Client information
|
||||||
NameRequest(event.peer);
|
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);
|
SendToAll(server,event);
|
||||||
|
|
||||||
@@ -33,14 +35,14 @@ void host_server(ENetHost *server) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case ENET_EVENT_TYPE_DISCONNECT:
|
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.
|
// Reset the peer's client information.
|
||||||
event.peer->data = NULL;
|
event.peer->Name = NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ENET_EVENT_TYPE_DISCONNECT_TIMEOUT:
|
case ENET_EVENT_TYPE_DISCONNECT_TIMEOUT:
|
||||||
printf ("%s timed out.\n", (char *)event.peer->data);
|
printf ("%s timed out.\n", (char *)event.peer->Name);
|
||||||
event.peer->data = NULL;
|
event.peer->Name = NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ENET_EVENT_TYPE_NONE: break;
|
case ENET_EVENT_TYPE_NONE: break;
|
||||||
|
|||||||
@@ -637,7 +637,9 @@ extern "C" {
|
|||||||
enet_uint8 outgoingSessionID;
|
enet_uint8 outgoingSessionID;
|
||||||
enet_uint8 incomingSessionID;
|
enet_uint8 incomingSessionID;
|
||||||
ENetAddress address; /**< Internet address of the peer */
|
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;
|
ENetPeerState state;
|
||||||
ENetChannel * channels;
|
ENetChannel * channels;
|
||||||
size_t channelCount; /**< Number of channels allocated for communication with peer */
|
size_t channelCount; /**< Number of channels allocated for communication with peer */
|
||||||
@@ -3438,11 +3440,11 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void * enet_peer_get_data(ENetPeer *peer) {
|
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) {
|
void enet_peer_set_data(ENetPeer *peer, const void *Name) {
|
||||||
peer->data = (enet_uint32 *) data;
|
peer->Name = (enet_uint32 *) Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
void * enet_packet_get_data(ENetPacket *packet) {
|
void * enet_packet_get_data(ENetPacket *packet) {
|
||||||
@@ -4417,7 +4419,7 @@ extern "C" {
|
|||||||
currentPeer->host = host;
|
currentPeer->host = host;
|
||||||
currentPeer->incomingPeerID = currentPeer - host->peers;
|
currentPeer->incomingPeerID = currentPeer - host->peers;
|
||||||
currentPeer->outgoingSessionID = currentPeer->incomingSessionID = 0xFF;
|
currentPeer->outgoingSessionID = currentPeer->incomingSessionID = 0xFF;
|
||||||
currentPeer->data = NULL;
|
currentPeer->Name = NULL;
|
||||||
|
|
||||||
enet_list_clear(¤tPeer->acknowledgements);
|
enet_list_clear(¤tPeer->acknowledgements);
|
||||||
enet_list_clear(¤tPeer->sentReliableCommands);
|
enet_list_clear(¤tPeer->sentReliableCommands);
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ int main() {
|
|||||||
DebugData(); //Prints Debug Data
|
DebugData(); //Prints Debug Data
|
||||||
}
|
}
|
||||||
setLoggerLevel("ALL");
|
setLoggerLevel("ALL");
|
||||||
|
|
||||||
|
|
||||||
ServerMain(Port, MaxPlayers);
|
ServerMain(Port, MaxPlayers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user