Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 10:54 am

All times are UTC




Post new topic Reply to topic  [ 25 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: Thu Mar 16, 2006 5:04 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Voici les resultats des tests windows / windows, le plus important est a la fin.

Pour le moment compil ok de mania drive, mania2 et mania_server

Pb de repository
Quote:
Raydium: Using repositories to get 'mania_server_tracks.php' file:
Raydium: FAILED: file not found (http://repository.raydium.org/)
Raydium: No valid repository found for this file, abording.
Raydium: php: ERROR: cannot pre-open 'mania_server_tracks.php' file
Raydium: RayPHP: error: empty filename
Raydium: ERROR ! cannot switch to track '' !

Note : Je n'execute pas dans le rep raydium par defaut.

Pas fichier fichier de pistes par defaut
Quote:
Raydium: You need 'mania_server_tracks.txt' simple text track list file ! Server
is disabled.

A ajouter a la distrib ?

Le fichier audio napleon n'est jamais trouvé sur le repository et toujours demandé. A fixer peut etre ?

En lancant le serveur et le client sur la meme machine:
Quote:
Raydium: network: discover socket created
Raydium: ERROR ! network: cannot open discover socket (already used ?)
System: No error


Par contre j'ai un timeout le temps que maniadrive recupere les fichiers du reposistory. Il faudrait peut etre allonger le timeout ou le gerer différement. 10 secondes c'est un peu court si il y a beaucoup de choses a faire non ?

Du coup j'ai rejoué a mania drive quelques remarques:
La physique et surtout la reponse au collisions bord de route est différente. Il me semble et effectivement que la voiture a un peut trop tendance a monter sur les bordures.
De grands blocage de l'affichage se produisent, je ne les avais jamais vu avant. Peut etre les ombres ????
Il y a peut etre un risque pour les "petites config"

Bon j'ai gardé le meilleur pour la fin:

Le serveur est lancé sur une machine, avec deux reseaux apparents avec ipconfig (ethernet et bluetooth)
Elle execute le serveur.

Sur une autre machine, on voit bien apparaitre un truc du genre "***** debug - broad *****" regulièrement (toutes les secondes).


Je ne peux pas pousser les tests plus loin, mais le broadcast semble bien passer.

Remarque:
Il faudrait rajouter
Code:
#ifndef WIN32
usleep(1); // MUST disable this with real servers
#else
sleep(0);
#endif

Dans le fichier tests.c pour tenir le svn a jour non ?

Mon idée avec le broadcast etait que si deux personnes lance mania_drive sur le meme lan, ils puissent jouer ensemble sans lancer de serveur specifique (chaque client est serveur).
Est-ce possible, logique, envisageable, utile ... :?: :?:

A+
Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 16, 2006 5:12 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Par contre le mode lan ne marche plus d'une machine a l'autre (sur la meme machine ca a l'air ok)

Quote:
Raydium: network: discover socket created
Raydium: network: discover OK: waiting for server beacons with 'ManiaDrive' (ver
sion 10)
Raydium: network: ERROR: cannot create client : already connected
Raydium: Changing game state to 2
Raydium: timecall: callback 1: 400 Hz (8948 clocks interval)
Raydium: ***** debug - broad *****
Raydium: ***** debug - broad *****


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 16, 2006 5:35 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Oulà, y'a beaucoup de sujets là. On va éviter de trop s'étendre sur les points qui ne sont pas liés au problème qui nous occupe dans ce thread : les broadcasts.

1) pb. de repository
Comme tu le dit juste après, le problème est (visiblement) que tu ne lance pas l'exe "dans le répertoire par défaut". A quoi ressemble ta configuration sur ce point ? Ici le jeu cherche à utiliser un script qui est livré avec les sources et donc pas présent sur le repository (mania_server_tracks.php).
Je pense qu'il faut ouvrir un nouveau thread sur ce sujet.

2) mania_server_tracks.txt
L'idée était de ne pas fournir de liste de circuits par défaut pour "forcer" l'administrateur du serveur à écrire sa propre liste, tout en connaissant du coup le fichier chargé de contenir cette liste.
Sachant qu'il était prévu un "éditeur de liste de circuits" dans ManiaDrive, cela tenait debout. Il est vrai que cette idée (l'éditeur) est laissée de coté pour l'instant, il parait logique de proposer une liste par défaut sur le repository. Je vais tacher d'y penser.

3) napleon (et les autres musiques)
Trop gros, pas tout à fait dans l'esprit du repository, liberté pour l'utilisateur de compléter ou remplacer les musiques par défaut, etc ...
Autant de raisons de ne pas placer les musiques du jeu là bas.
Soit l'utilisateur télécharge le pack de données du jeu (dispo sur le site web), soit il réalise l'installation depuis les sources et n'a pas de musique.
Peut-être qu'une solution intermédiaire serait de mettre en place un repository spécifique à ManiaDrive en complément de l'autre. En attendant , vu l'extrême minorité de gens qui vont lancer ManiaDrive depuis les sources la première fois, je ne vois pas d'urgence. Erreur de ma part ? :)

4) le serveur et le client sur la meme machine
Pour la partie broadcast, effectivement, ça ne peut pas marcher (le port étant le même). En fait je me demande même comment ça fait pour marcher pour le reste :)

5) timeout de 10 secondes
Trop peu pour laisser le temps de télécharger les données la première fois, pas assez lorsque qu'un joueur sort brutalement du jeu et se reconnecte très vite ... l'éternel problème des timeout :)
Cette valeur est empirique, et semble être la plus tolérable pour l'instant. Il était prévu de faire envoyer un paquet par le client lors de se déconnection pour avertir le serveur et donc éviter les "ghosts", ce qui peut ensuite nous permettre de pousser le timeout à 30 secondes, par exemple. En attendant ... :)

6) comportements voitures / ombres / lenteurs
Important mais HS sur ce thread. En ce qui concerne le comportement de la voiture, je me permet de sortir toujours la même histoire : pour l'instant, il n'est plus possible de toucher à la physique du jeu (temps, circuits, bloc, etc, tout ça est calibré pour la physique actuelle), mais en revanche, il est prévu d'offrir à termes d'autres "univers" (genre neige, ville, etc) avec des voitures différentes et donc d'autres physiques.

7) 2 réseaux et broadcasts
Parfait ! C'est la preuve que windows à un comportement logique sur ce point :) Détail amusant : c'est la première fois dans le code source que je dois écrire un truc du genre "#ifdef linux" et non "#ifndef WIN32" :)
Je vais donc pouvoir continuer à avancer sur ce sujet ce soir.

8) sleep / usleep dans tests.c
Oui, effectivement, c'est logique. Je vais là aussi tâcher d'y penser.

9) jouer sans serveur
Le serveur fait plus que jouer le rôle de simple répéteur : il gère les temps, le circuit en cours, les congestions réseau de chaque client, etc.
Et en LAN, le gain de perf avec 100% de broadcast contre la méthode actuelle est loin d'être évident. Il faut savoir qu'il est écrit un peu partout qu'il faut éviter les broadcast (risque important de flood du segment réseau). Un paquet toutes les 5 secondes, passe encore, mais 2000 paquets/minute pour chaque client, c'est moins évident :)
Sans compter que c'est beaaaaucoup plus simple à programmer au niveau de l'application cliente :)

heu... c'est tout :)


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 16, 2006 6:21 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Dans l'ordre et en faisant court.

1) Ok si livré avec les sources
2) Ok
3) Ok et logique
4) Et pourtant ca marche !!!!
5) Ok, j'avais pas pris en compte les pb de reconnection
6) HS ok, Il me semblait que le comportement n'etais pas le meme dans les versions un peu plus ancienne(decembre, janvier). Dans tout les cas C'est juste une remarque.
7) Ok, tout arrive :)
8) Ok
9) Surtout pas de broadcast généralisé. Plutot le scenario suivant:
On lance une appli, elle ecoute pas de serveur, elle monte un serveur et broadcaste l'Id du serveur.
Qui ne sert a rien si il n'y a personne sur le reseau. :(
Si elle detecte un serveur elle s'y connecte.
A mon avis le broadcast ne sert que pour diffuser les serveurs existant sur le lan. Le reste du netcode de raydium marche correctement, il faut le laisser tel quel.

J'avoue que c'est un besoin pour un projet decorrélé de mania drive.
Plutot pour creer un environnement de test multi-utilisateur très simple à mettre en oeuvre.

Dernière remarque, le log devient tres prolixe, on a du mal a retrouver les infos importantes non ?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 16, 2006 7:47 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
A propos de la verbosité des logs, c'est probablement vrai. A vrai dire, j'ai tellement le nez dedans que j'ai du mal à me rendre compte de ça.

Juste un complément pour le point 1 : tu est censé avoir ce fichier. Je pense que c'est ta manière de lancer l'appli (depuis un autre répertoire ?) qui est en cause. Les détails m'intéressent (dans un autre thread :) ).


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 19, 2006 12:44 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Mes excuses à ceux qui sont peut être en train de jouer avec le sujet en cours (découverte automatique des serveurs) : ça ne marche plus depuis le dernier commit (ou peut être même un peu avant) :)

Je m'occupe de ça.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 19, 2006 4:10 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
C'est réglé (depuis le commit 249). J'avais supprimé par erreur (F6 au lieu de F5 dans mcedit) un petit bloc de code.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 19, 2006 8:08 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Hop, ManiaDrive utilise le système en question (que je considère comme terminé au niveau de l'API), et voilà ce que ça donne :

Image

Sympa non ? :)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 19, 2006 8:25 pm 
Offline

Joined: Sun Mar 16, 2003 10:27 am
Posts: 404
carement. bon boulot !


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 19, 2006 9:06 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Pas mal.
Le temps de reaction entre la demande et la reponse est correct :wink:
Je regarde l'API sous peu.
Merci.
A+


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 25 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 35 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group