mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2025-07-04 00:36:14 +00:00
Minor Adjustments
This commit is contained in:
parent
2a3df072d1
commit
60c38ccd1a
@ -9,23 +9,26 @@
|
|||||||
#include "../logger.h"
|
#include "../logger.h"
|
||||||
#include "../Settings.hpp"
|
#include "../Settings.hpp"
|
||||||
|
|
||||||
|
int FindID(ENetHost *server,ENetPeer*peer);
|
||||||
void Respond(const std::string& MSG, ENetPeer*peer){
|
void Respond(const std::string& MSG, ENetPeer*peer){
|
||||||
enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE));
|
enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data, bool All){
|
void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data, bool All, bool Reliable){
|
||||||
std::cout << "Sending to all with the self switch : " << All << std::endl;
|
std::cout << "Sending to all with the self switch : " << All << std::endl;
|
||||||
for (int i = 0; i < server->connectedPeers; i++) {
|
for (int i = 0; i < server->connectedPeers; i++) {
|
||||||
if (All || &server->peers[i] != peer) {
|
if (All || &server->peers[i] != peer) {
|
||||||
enet_peer_send(&server->peers[i], 0, enet_packet_create(Data.c_str(),Data.length()+1, ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT));
|
//reliable is 1 unreliable is 8
|
||||||
|
enet_peer_send(&server->peers[i], 0, enet_packet_create(Data.c_str(),Data.length()+1,Reliable?1:8));
|
||||||
enet_host_flush(server);
|
enet_host_flush(server);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnConnect(ENetPeer*peer){
|
void OnConnect(ENetHost *server,ENetPeer*peer){
|
||||||
enet_peer_send(peer, 0, enet_packet_create ("NR", 3, ENET_PACKET_FLAG_RELIABLE));
|
enet_peer_send(peer, 0, enet_packet_create ("NR", 3, ENET_PACKET_FLAG_RELIABLE));
|
||||||
//std::string ID = "P" + std::to_string(peer->serverVehicleID); /////HOLDUP
|
peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?
|
||||||
//enet_peer_send(peer, 0, enet_packet_create (ID.c_str(), ID.length()+1, ENET_PACKET_FLAG_RELIABLE));
|
std::string ID = "P" + std::to_string(peer->serverVehicleID[0]);
|
||||||
//if(Debug)debug("ID : " + std::to_string(peer->serverVehicleID));
|
enet_peer_send(peer, 0, enet_packet_create (ID.c_str(), ID.length()+1, ENET_PACKET_FLAG_RELIABLE));
|
||||||
|
if(Debug)debug("ID : " + std::to_string(peer->serverVehicleID[0]));
|
||||||
}
|
}
|
||||||
|
@ -9,30 +9,26 @@
|
|||||||
#include "../logger.h"
|
#include "../logger.h"
|
||||||
#include "../Settings.hpp"
|
#include "../Settings.hpp"
|
||||||
|
|
||||||
std::vector<std::string> Split(const std::string& String,const std::string& delimiter);
|
void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data,bool All, bool Reliable);
|
||||||
void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data,bool All);
|
|
||||||
void Respond(const std::string& MSG, ENetPeer*peer);
|
void Respond(const std::string& MSG, ENetPeer*peer);
|
||||||
int FindID(ENetHost *server,ENetPeer*peer);
|
|
||||||
|
|
||||||
void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){
|
void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){
|
||||||
char Code = Packet.at(1);
|
char Code = Packet.at(1);
|
||||||
std::string Data = Packet.substr(3);
|
std::string Data = Packet.substr(3);
|
||||||
//std::vector<std::string> vector = Split(Packet,":");
|
|
||||||
switch(Code){ //Spawned Destroyed Switched/Moved Reset
|
switch(Code){ //Spawned Destroyed Switched/Moved Reset
|
||||||
case 's':
|
case 's':
|
||||||
if(Data.at(0) == '0'){
|
if(Data.at(0) == '0'){
|
||||||
peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?!
|
Packet = "Os:"+ peer->Name +":"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4);
|
||||||
Packet = "Os:"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4);
|
|
||||||
}
|
}
|
||||||
SendToAll(server,peer,Packet,true);
|
SendToAll(server,peer,Packet,true,true);
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
SendToAll(server,peer,Packet,true);
|
SendToAll(server,peer,Packet,true,true);
|
||||||
break;
|
break;
|
||||||
case 'm':
|
case 'm':
|
||||||
break;
|
break;
|
||||||
case 'r':
|
case 'r':
|
||||||
SendToAll(server,peer,Packet,true);
|
SendToAll(server,peer,Packet,true,true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -56,6 +52,6 @@ void ParseData(ENetPacket*packet, ENetPeer*peer, ENetHost*server){
|
|||||||
}
|
}
|
||||||
//V to Z
|
//V to Z
|
||||||
std::cout << "Received data from: " << peer->Name << " Size: " << Packet.length() << std::endl;
|
std::cout << "Received data from: " << peer->Name << " Size: " << Packet.length() << std::endl;
|
||||||
if(Code <= 90 && Code >= 86)SendToAll(server,peer,Packet,false);
|
if(Code <= 90 && Code >= 86)SendToAll(server,peer,Packet,false,false);
|
||||||
if(Debug)debug("Data : " + Packet);
|
if(Debug)debug("Data : " + Packet);
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "../Settings.hpp"
|
#include "../Settings.hpp"
|
||||||
|
|
||||||
void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server); //Data Parser
|
void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server); //Data Parser
|
||||||
void OnConnect(ENetPeer*peer);
|
void OnConnect(ENetHost *server,ENetPeer*peer);
|
||||||
|
|
||||||
ENetPacket* packet;
|
ENetPacket* packet;
|
||||||
int PlayerCount = 0;
|
int PlayerCount = 0;
|
||||||
@ -47,7 +47,7 @@ void host_server(ENetHost *server) {
|
|||||||
event.peer->Name = "Client information";
|
event.peer->Name = "Client information";
|
||||||
/*event.peer->gameVehicleID[0] = 0;
|
/*event.peer->gameVehicleID[0] = 0;
|
||||||
event.peer->serverVehicleID[0] = FindID(server, event.peer);*/
|
event.peer->serverVehicleID[0] = FindID(server, event.peer);*/
|
||||||
OnConnect(event.peer);
|
OnConnect(server,event.peer);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ENET_EVENT_TYPE_RECEIVE:
|
case ENET_EVENT_TYPE_RECEIVE:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user