GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: alex477 le 28 Juillet 2011, 20:50:00
-
Salut à tous. Voilà j'ai un très gros problème sur mon serveur, on tourne entre 20 et 30 joueurs des fois 50.
C'est un serveur avec énormément de boucles et de fonctions.
Des fois le serveur se met a freeze et on peux plus exécuter aucune action, donc on essaye de se déconnecter et dans la liste sa-mp la liste des joueurs n'est plus mis à jours.
Le serveur tourne mais aucune fonction, action des joueurs plus rien n'est executé. Pendant 3 minutes on galere a aller sur la machine car connection time out et après on peux revenir.
Mais le serveur reste toujours comme ça.
Dans les logs sa n'affiche rien a partir du bug (freeze).
Les seuls message qui s'ajoute au logs c'est les "Incoming connection" rien d'autre
Aider moi le seul moyen pour moi est de rebooter la machine complete et de relancer le serveur. :(
Sa peut être du a quoi, la ram qui est utilisé enormement ? Une boucle qui ne se termine plus ? a l'aide !! merci
EDIT : si vous n'avez pas très bien compris, je repete volontier :(
-
Boucle infini dans le code
-
Une boucle infini peux ressembler a quoi ? par exemple ?
-
Boucle infinie
new playerID = 0;
while( playerID < MAX_PLAYERS )
{
if( IsPlayerConnected( playerID ) )
{
SendClientMessage( playerID, 0xFFFFFFFF, "Tu es connecté !" );
}
}
boucle finie
new playerID = 0;
while( playerID < MAX_PLAYERS )
{
if( IsPlayerConnected( playerID ) )
{
SendClientMessage( playerID, 0xFFFFFFFF, "Tu es connecté !" );
}
playerID++;
}
-
1) Le moyen de savoir si une boucle est infinie et de mettre un print au début et un print a la fin ?
Comme sa le jour ou sa plante je go dans les logs ?
2) Esque un For peut aussi provoquer une boucle infinie ?
3) Esque sa pourait pas etre plutôt une attaque DDos ?
-
1)Oui
2)Oui
3)Oui aussi ça part un peu du meme principe qu'une boucle infini d'ailleurs .
-
euh le 3 non
-
D'accord car personnellement j'ai fais des print avant et après chaque boucle. Et le serveur m'indique que toutes les boucles se termine. Cependant le serveur m'indique qu'une ip nous attaque. Cependant j'ai remarquer que des que l'attaque a été terminé, 10 minutes après le serveur a recontinuer. Donc c'est tout simplement une attaque ?
-
euh le 3 non
ça dépend de la puissance du serveur et de la fréquence d'envoi des packets de je pense .
Met un parfeu alex
-
Si c'est seulement une seule IP, bloque-la, et c'est terminé.
-
il y a pas mal de tuto pour ce proteger
-
Voilà une dernière question. En faite j'ai remarqué que a chaque fois qu'il y a une attaque même si l'attaque dur 5 minute, le serveur entre dans une sorte de boucle infini. Et donc on voit les joueurs de co mais on peux rien faire, pas se deco, pas se co.
Pourquoi mon serveur sa-mp réagirait-il comme ça et pas les autres ? :o
-
Tous simplement car tu demande des choses qui ne sont pas accessible.