Taille max d'un module persistant.

Répondre
Partager Rechercher
Ce ne serait pas plus simple d'upgrader la machine ? Carte Mère + Processeur + RAM, on va chercher dans les 300 Euros pour du matériel déjà suffisant. Et avec la fréquentation du module il y a bien moyen de récolter quelques Euros offerts par des joueurs qui désirent jouir d'une meilleure qualité de jeu (Si tu comptes 30 joueurs, 10 Euros par personne c'est pas la mort).

Je précise pour les personnes bien pensantes qui liraient ce post, que je n'incite pas à créer un serveur payant.
Pour les autres ils sont assez intelligents pour avoir compris
Il y a une différence entre avoir les capacités et savoir s'en servir.
Mais comme tu es un de ceux qui préfèrent voir l'aspect littéral plutôt que le sens je te classe dans la première catégorie
Bon déjà en ce qui concerne de faire payer un serveur NwN, vous pouvez toujours essayer, mais ormis le risque de ne pas y voir grand monde, vous vous exposez à bien plus embétant...

Maintenant en ce qui concerne le problème de base, la taille du module peut etre une cause à la charge d'un "serveur", en fait cela dépend de la façon dont il a été pensé, et proggramé.
Par exemple si vous avez dix zonnes ou complétement dynamique avec des centaines de scripts qui tournes pour les dynamiser et cela en permanance meme quand aucun pj se trouve dans celles-ci, la charche serra plus importante que si vous avez une centaine de zonnes sans aucun script qui tourne.

Ensuite, il y a les création d'objet, les spawn de monstre qui utilise de la resource, les changements de zonne d'un personnage, le stockage de variable, un truc qu'on ne pense pas souvant à faire, mais si les fonction DeleteLocal*() existent, ce n'est pas pour faire jolie.

Il faut aussi savoir que 2 joueurs se trouvant dans 2 zones différentes demade plus de ressource que 2 joueurs se trouvant dans la meme zone.

Du coté script, j'ai vu souvant des scripts avec 15 if, if else à la suite, utilisez dans ces cas là les sauts conditionnels (switch) car dans le cas d'un if, if else, else, chaque condition et testée jusqu'à ce que la bonne soit trouvée, et tester une condition, c'est de la ressource utilisée.

Maintenant, pour faire tourné un serveur dédié, pas besoin d'une béte de course comme je l'ai souvent lu, nwserveur n'est vraiment pas gourmant tant que le module est bien pensé et bien réalisé. De plus la qualitée matériel et l'OS utilisé peut etre determinant comme l'a tres bien expliqué Alendril. A puissance moindre, avec du materiel de qualité et prévu pour ça, l'OS adéquat et un module bien pensé et réalisé, vous tiendrez bien mieux que quelqu'un utilisant une machine surgonflée en ressource (qui ne serrat jamais utilisée au meilleur de ses capacité) mais n'etrant pas dans ces critères.

Ma réponse est généraliste et ne vise personne, et ne remet en aucun cas en cause la qualité de quelque module que ce soit.

Prophetia

ps: Azrael07, pour info, ce qu'on appel de la memoire flash, c'est une EEPROM, c'est comme un EPROM, mais au lieux de devoir l'insoller pour l'effacer, il suffit de lui appliquer un courant suffisant sur la bonne pate, d'ou son nom (Electraly Erasble Programable Read Only Memory) et peut ensuite etre reprogrammée, en ce qui concerne la RAM ECC, comme tout autre RAM (Read Access Memory) si tu ne l'alimentes plus, tu pers les données, maintenant, dans ta TI, les données sont sauvegardé car les RAM sont alimentée en basse tension pour gardé les données, il y a souvent une petite pile lithium pour cela, ou alors utilise les piles classique et dans ce cas, tu as un condensateur de backup pour alimenter la RAM quand tu changes tes piles
oui les switch sont importants c'est sur, mais le switch du nwnscript est beaucoup moins puissant que sur un autre langage comme le c ou le php, rien que par le fait que tu ne peux pas faire de test avec des strings...
enfin... je pense aussi que vous vous emportez un peu là, car à vous entendre, pour qu'un serveur tourne bien , il ne faudrait pas de script
Le fait que le switch ne fonctionne pas sur un string n'est pas tres génant en soit, d'ailleur faire un test sur une valuer numérique est tout de meme bien plus performant et moins couteux en mémoire. de plus une petite rectification si tu me le permets, mais le c n'accepte pas non plus les switch sur les variables de types string puisque ce type de variable n'existe pas en C.

Et puis ne me fais pas dire ce que je n'ai pas dis, en aucun cas j'ai dis qu'il ne fallait pas mettre de script pour qu'un serveur fonctionne bien....
Effectivement, les switch sur des valeurs autres que numériques constantes sont uniquement des facilités d"écritures car ils sont en réalité implémenté comme une suite de test if, elsif, else...
Alors que le switch du C et du C++ (et du NWScript par la même occasion puisqu'il s'agit d'un dérivé) sont implémenté par un véritable saut inconditionnel.

Par contre j'aurais vraiment aimé personnellement que le NWScript incorpore les fonctions char() et ord(), enfin les fonctions de traduction caractère<->code ASCII du C (je ne suis plus sûr des noms, je n'ai plus fait de C depuis un certain temps), puisque le C permet de faire des switch avec des caractères (en réalité c'est leur code ASCII qui est utilisé, la distinction short int/char n'est pas très (sic) nette en C).

Attention avec des caractères, pas des strings !

(En plus ç'aurait été vraiment pratique pour les tokens de couleur !! )
Citation :
Provient du message de Prophetia Astrae
mais le c n'accepte pas non plus les switch sur les variables de types string puisque ce type de variable n'existe pas en C.


Excuse moi , je me suis gouré , je ne parlais pas du C , mais je voulais parler du c# qui fait parti du microsoft .net . Et là, il utilise d'autre types pour les switch


Citation :
Et puis ne me fais pas dire ce que je n'ai pas dis, en aucun cas j'ai dis qu'il ne fallait pas mettre de script pour qu'un serveur fonctionne bien....
Et je n'ai rien dis de tel... je n'ai visé personne, je fais juste un résumé de tous les posts que j'ai pu lire .
Et de plus , il ne faut pas le prendre au premier degré
Citation :
Provient du message de RAT
Excuse moi , je me suis gouré , je ne parlais pas du C , mais je voulais parler du c# qui fait parti du microsoft .net . Et là, il utilise d'autre types pour les switch
Oui, mais là ça devient tres différent, bon je ne me suis pas encore penchée sur le C#, et ne peux pas dire comment c'est gerer, mais pour prendre un exemple, en java, les switch accepte aussi les type de varialblme string, mais celui-ci est malgés tout gérer par un objet. Ensuite pour revenir à gro$oft, ils avait déjà commencé à gerer les string dans leurs saut conditionnel en VB, mais bon on ne peut pas dire que ce soit un modéle en matiére d'optimisation....

Citation :
Provient du message de RAT
Et de plus , il ne faut pas le prendre au premier degré
Tiens bizzare j'ai entendu ça quelque part déjà
Ba pour le C# je connais vaguement, j'en ai fais pendant un an pendant mon BTS d'info
.


Citation :
Tiens bizzare j'ai entendu ça quelque part déjà
vivi je crois bien
euh... je veux pas dire de connerie, mais il me semble fortement que le switch n'est rien d'autre qu'une suite de else if en beaucoup mieux présenté. Enfin, si ce n'est pas le cas, je ne voit absoluement pas comment le switch marche en programation de bas niveau (asm).

Citation :
ps: Azrael07, pour info, ce qu'on appel de la memoire flash, c'est une EEPROM, c'est comme un EPROM, mais au lieux de devoir l'insoller pour l'effacer, il suffit de lui appliquer un courant suffisant sur la bonne pate, d'ou son nom (Electraly Erasble Programable Read Only Memory) et peut ensuite etre reprogrammée, en ce qui concerne la RAM ECC, comme tout autre RAM (Read Access Memory) si tu ne l'alimentes plus, tu pers les données, maintenant, dans ta TI, les données sont sauvegardé car les RAM sont alimentée en basse tension pour gardé les données, il y a souvent une petite pile lithium pour cela, ou alors utilise les piles classique et dans ce cas, tu as un condensateur de backup pour alimenter la RAM quand tu changes tes piles
Ah ? dsl on m'avais parlé de mémoire flash lorsqu'on m'a expliqué le système de fonctionnement de la mémoire de ma Ti. je m'excuse pour mes mauvaises infos
Il me semblait que c'était implanté différemment, mais comme effectivement je ne vois pas comment ça pourrait être fait en assembleur...
Donc si un pro pouvait nous éclairer ça serait bien !!

Mais ce qui est certain, c'est que les implantations qui autorisent des variables, et en plus d'une autre nature que des entiers (même déguisés comme les char en C), sont beaucoup moins optimisés !

PS : Je suis pratiquement sûr que ce n'est pas une simple suite de else if... mais je ne vois pas l'alternative...
Voilà, provenant de plusieurs sources :
le switch est implanté selon le nombre de cas soit avec une série de test, soit avec une jumptable, c'est à dire une table contenant le saut selon la valeur. De plus le fait que les valeurs des case du C soient des constantes influence évidemment la vitesse d'exécution, puisque non seulement les valeurs n'ont pas à être recalculés mais en plus, une table de saut efficiente peut être mise en place à la compilation, ce qui n'est pas possible avec des variables.
Généralement, le switch est plus rapide que la suite de if...else if, surtout s'il est implanté avec une table de saut.
Voilà .
PS : D'après les mêmes sources, les implémentations du switch...case... incorporant des variables et des valeurs autres que entières sont toutes plus lentes que le switch du C.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés