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

Titre: [Rêglé] Serveur qui continue de tourner (sans executer aucune fonction)
Posté 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 :(
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Ssk le 28 Juillet 2011, 21:02:36
Boucle infini dans le code
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: alex477 le 28 Juillet 2011, 21:02:59
Une boucle infini peux ressembler a quoi ? par exemple ?
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Ssk le 28 Juillet 2011, 21:10:39
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++;
}
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: alex477 le 28 Juillet 2011, 21:23:13
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 ?
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Eloctro le 29 Juillet 2011, 12:33:45
1)Oui

2)Oui

3)Oui aussi ça part un peu du meme principe qu'une boucle infini d'ailleurs .
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Ssk le 29 Juillet 2011, 12:53:34
euh le 3 non
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: alex477 le 29 Juillet 2011, 12:57:22
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 ?
Titre: Re : Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Eloctro le 29 Juillet 2011, 13:53:51
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
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Xartrick le 29 Juillet 2011, 13:59:12
Si c'est seulement une seule IP, bloque-la, et c'est terminé.
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: cristab le 29 Juillet 2011, 14:02:33
il y a pas mal de tuto pour ce proteger
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: alex477 le 29 Juillet 2011, 16:29:11
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
Titre: Re : [En cours] Serveur qui continue de tourner (sans executer aucune fonction)
Posté par: Xartrick le 29 Juillet 2011, 17:08:09
Tous simplement car tu demande des choses qui ne sont pas accessible.