Les Tutoriels de g-box

Perdu dans la configuration de votre serveur ou avide de connaissances encore jamais découvertes durant votre parcours sur Garry's Mod ? Les tutoriels figurant ici seront en mesure de faire de vous un joueur sachant configurer mais aussi modifier afin d'avoir un rendu propre à votre serveur.

Ce petit tutoriel permet de directement avoir Notepad++ pour éditer les fichiers sans devoir indiquer à Filezilla avec quoi lire les fichiers « .lua » 

Probablement inutile pour beaucoup, mais je suis certain que justement pas mal de gens ne passent pas par Notepad++ quand ils configurent leur serveur… notez que si vous n’utilisez pas Notepad++, libre à vous de choisir un autre logiciel d’édition (comme sublimetext par exemple), mais please arrêtez d’utiliser notepad 🙁

•·.·´¯`·.·• Pré-requis •·.·´¯`·.·•

Fillezilla : disponible ici

Notepad++ : disponible a cette endroit

Sublime Text 3 : disponible a cette adresse

Bien maintenant que les pré-requis sont installés puis ouverts, direction votre ftp pour cliquer sur ‘édition‘ dans la barre d’outil , ensuite sur “paramètres…”

dans les paramètres allez tout en bas sur “édition des fichiers”

cochez comme sur le screen suivant tout en ayant parcouru votre ordinateur pour indiquer l’emplacement de notepad++ (ou sublimetext)

Wow ! Vous venez d’accomplir quelque chose de grand, félicitations vos fichiers sont éditables à tout moment avec le logiciel notepad++ à partir de votre ftp ! , il faut savoir qu’à l’heure d’aujourd’hui cette manipulation n’est pas universelle (ewi des gens utilisent encore l’horrible bloc-notes ou pire..open office !) donc si une personne de votre entourage semble ne pas savoir comment faire indiquez lui cette page web cela sera toujours l’occasion d’apprendre une petite “astuce”.

Ce tutoriel vous permet en gros de supprimer différentes sections dans le spawnmenu (Weapons, Npc, Entities, véhicules, Post Process, Dupes, Saves ), pour que les joueurs puissent profiter de l’essentiel sans voir des sections restrict inaccessibles… :

En ces temps durs comme la pierre je vous propose de suivre ce tutoriel qui va vous apprendre à faire ce que 99% des serveurs actuels ne sont pas capables de faire.

_.¤´¯`¤._.¤´¯`¤._ Ok maintenant on rentre dans la crémière au boulot ! _.¤´¯`¤._.¤´¯`¤._

Ce tutoriel consiste à supprimer ou dans le cas présent faire en sorte que le jeu oublie de charger des
sections de la spawnlist .

Exemple d’une spawnlist primaire :

Direction et suivez ce chemin de racine :

 garrysmod/gamemodes/sandbox/gamemode/spawnmenu/creationmenu/content 

Éditez le fichier content.lua :

Retirez ce qui vous semble inutile comme par exemple : 

 
 
  1. include( "contenttypes/weapons.lua" )
  2. include( "contenttypes/entities.lua" )

Confirmez votre modification… reboot… & observez ?

/!\ VOUS AVEZ RÉUSSI ! /!\

Vous venez d’apprendre comment enlever les sections “postprocess”, “saves” & “dupes”, cela est bien évidemment fonctionnel sur le mode de jeu DarkRp.
J’espère que ce petit tuto va vous venir en aide afin de rendre votre serveur plus intéressant, il y a évidemment d’autre solutions ( Mr.PlayYou 😉 ) mais souvenez vous que via ce tutoriel aucun addon n’est requis ni même un code lua étranger externe.

Le playerVoiceChat c’est quoi ? Juste une petite fenêtre qui s’affiche en temps réel quand le joueur appuie sur sa touche pour parler in-game via son micro.

Exemple visuel:

Concrètement à quoi ça sert ? Cette option est purement conviviale et agit comme utilitaire pour savoir qui parle (pseudo), cependant dans de nombreux gamemodes des fondateurs apprécient le fait de vouloir ‘cacher’ cette fenêtre pour convenir au mode de jeu (généralement pour des questions de réalisme).

Un grand merci à Joe Leroi pour son topic qui a servi à fournir cette page ici-même 😉Multiples Tutoriels efficace et simple #AllezClick )

Installation:

Rendez vous sur le FTP du serveur,
Allez dans le dossier “Addons”,
Vous devez créer un dossier (ou répertoire) du nom de “disable_playervoicechat_base”,
A l’intérieur de ce dernier, créez un autre dossier du nom de “lua”,
A l’intérieur du dossier “lua”, créez un dossier “autorun”,
Dans “autorun”, créez un dossier du nom de “client”,
Pour finir dans le dossier “client”, créez un fichier nommé “disable_playervoicechat_base.lua”, le nom ainsi est hyper important,

disable_playervoicechat_base.lua
 
  1. hook.Add( "PreGamemodeLoaded", "disable_playervoicechat_base", function()
  2.       hook.Remove( "InitPostEntity", "CreateVoiceVGUI" )
  3. end)

Ce tutoriel va vous expliquer comment patch la technique de troll avec l’outil bouton ! C’est très simple ! Grâce à ce tutoriel qui va vous permettre de restrict le .mdl de l’outil.⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

Le troll réside dans le fait que le bouton étant impossible à déplacer avec le physicgun ou même via le battering ram à cause de sa soudure automatique avec le sol, les trolls sont libres de propblock les joueurs au spawn voir carrément chez eux…

Voilà donc un code qui va permettre de bloquer les models inconnus qui ne sont pas de base dans l’outil (libre à vous de rajouter des models dans le code si vous avez custom votre outil button 😉 )

Installation : garrysmod/lua/autorun/server

patchbutton.lua
 
  1. hook.Add("CanTool","Button_different_model",function(ply, ent, tool)
  2.     if tool == "button" then
  3.         if not table.HasValue({"models/maxofs2d/button_01.mdl","models/maxofs2d/button_02.mdl","models/maxofs2d/button_03.mdl","models/maxofs2d/button_04.mdl","models/maxofs2d/button_05.mdl","models/maxofs2d/button_06.mdl","models/maxofs2d/button_slider.mdl"},ply:GetInfo("button_model")) then
  4.             ply:ChatPrint("Erreur ! Model introuvable")
  5.                   return false
  6.         end
  7.     end
  8. end)

Ce tutoriel va vous permettre de restreindre le context menu pour que les joueurs n’en profitent tout simplement pas pour abuser de manière génante la bonne conduite de votre serveur en terme de gameplay .

Etape ‘A’ : Direction votre FTP et suivez ce chemin > garrysmod/gamemodes/sandbox/gamemode/spawnmenu

Le fichier qui vous intéresse a pour nom contextmenu.lua :

Etape ‘B’ : Éditez votre fichier contextmenu.lua 

(Notez que vous avez le choix entre des variantes)

Option radical  : “self:SetVisible( true )<<< Mettez ‘false’ ( Désactive le clique droit sur les props & la barre du haut )

ou bien de cette manière :

Option Souris : “self:SetMouseInputEnabled( true )<<< Mettez ‘false’ ( Désactive le clique droit uniquement )

Voilà vous devriez être tranquille en ce qui concerne le context menu , votre serveur n’a maintenant plus de crainte de se voir faire effacer des éléments de la map comme les ascenseurs ou encore des props  décoratifs 😉

Après plus de 6000Heures de jeux sur gmod, je constate que beaucoup de gens possédant un serveur ne savent pas restrict les outils dans le toolgun ce qui est une hérésie en 2017… certains disent que c’est utile (bullshit) d’autres l’oublient bêtement alors voilà comment resctrict les outils en darkrp .

Je vais donc vous montrer quels sont les outils à interdire mais surtout pourquoi… histoire que beaucoup comprennent les dangers d’un simple outil.

Ce tutoriel va se composer différemment cette fois-ci, la première partie va montrer les effets indésirables des outils, puis la seconde partie va tout simplement vous apprendre à les restrict.

ps : si vous êtes un Fondateur qui refuse ce genre de restriction… alors votre serveur est vraisemblablement nul à chier.

_______________________________________________
“CORDE,GLISSIÈRE,TREUIL,ELASTIC, HYDRAULIC,MUSCLE,POULIE”

Ahhh… la section contrainte physique du toolgun, grand classique du genre de chose que l’on s’amuse à faire sur les mauvais serveurs… mais connaissez-vous le véritable potentiel de cette section ?

Explication : Garry, étant trop (fainéant ?) occupé, n’a jamais pris la peine de faire en sorte que les utilisateurs ne puissent pas changer la largeur des outils ni leur material.

Voilà pour l’exemple la texture d’une corde & sa largeur, facilement modifiables par les joueurs :

(cela inclut évidemment GLISSIÈRE,TREUIL,ELASTIC, HYDRAULIC,MUSCLE,POULIE)

Choquant n’est-ce pas ? Voilà pourquoi ce type d’outil n’a pas sa place dans le gamemode DarkRp.

______________________________________________

“LAMP”

Oui, je sais, les lamps sont pratiques pour construire, blablabla… Mais connaissez-vous la vision que peut offrir une simple lampe ?

Voilà… J’espère que maintenant vous comprendrez pourquoi les lamps sont abominablement exploitables… Il n’est pas forcément néccessaire de resctrict les lamps; on peut aussi modifier le tool et bloquer la commande de la console… mais ce n’est pas le sujet .

______________________________________________

“MOTEUR”

Cet outil charmant a pour but de provoquer la mort de tous ceux qui osent venir s’interposer dans son champ d’action. Il permet en effet d’effectuer des rotations assez rapides pour instakill, les fondateurs possédant un antipropkill sont tranquilles, bien qu’il soit tout de même assez frustrant de se faire éjecter 20M plus loin en frôlant l’engin.

______________________________________________

“TRAILS”

Pas vraiment besoin de préciser pourquoi il faut restrict ce genre d’outils… Un darkRP n’est pas un serveur Sandbox, d’autant plus que ce genre de fantaisies n’a aucun intérêt…

______________________________________________

Propriété Physique”

Dans l’idée on peut bien évidemment l’incorporer dans un job, comme “Scientifique” ou “Astronaute”, mais rares sont les serveurs à avoir ce type de job, donc autant le restrict… en plus ce type d’outil permet de propkill donc bon c’est loin d’être une perte !

______________________________________________________________________________
Voilà, maintenant que les exemples d’abus horribles ont été dévoilés, on va pouvoir passer à la restriction !

Étape 1 : Direction le toolgun pour aller ici :

Ensuite on fait comme sur le screen… On sélectionne dans les dossiers les outils à restrict qui vont s’afficher dans “Tool names”

& pour finir, cliquez sur les boutons ‘Edit/view Selected tool restrictions’ & ‘Edit multiple Tools’

Cochez dans les deux ‘Superadmin Only’

Et paf ! Restriction des outils jugés comme néfastes sur votre serveur… serveur qui a désormais un cran de sécurité supplémentaire contre les streameurs, trolls ou enfants qui veulent détruire l’expérience de jeu.

Pour finir, je tiens à préciser que chacun reste libre de faire comme bon lui semble avec SON serveur mais attention… Réfléchissez au gamemode que vous vous devez de représenter, avant toute chose votre serveur reflète en quelque sorte un peu l’image du gamemode… Le fait de parcourir des centaines de darkrp avec comme d’habitude les même problèmes de ce genre, ça créer vraiment l’impression que le staff du serveur ne pense qu’aux VIP ou à des actions incroyables comme braquer pendant des heures…

Je sais que c’est faux, qu’il ne faut pas en faire une généralité mais c’est ce genre de choses qui tuent l’envie d’être sérieux dans son personnage… Il y a pire, je ferais vite-fait allusion aux staffs qui viennent te voir pour te dire “Le serv est en construction donc on peut reboot à tout moment”. oui d’accord mais alors pourquoi ne pas lui mettre un MOT DE PASSE si ce n’est même pas prêt officiellement ? pour avoir une place de modo en premier ? ou bien un avantage à printer avant TOUT le monde comme ça bim l’économie ?

Bref j’espère néanmoins que ce tutoriel va servir à de nombreux fondateurs désireux de faire une configuration propre 😉

Ce tutoriel va vous apprendre, par une simple manipulation de moins de 30 minutes, à rendre votre serveur Murder plus intéressant d’environ 100% !

Depuis beaucoup trop longtemps, la plupart des serveurs murder n’osent pas bidouiller les fichiers du gamemode alors que celui-ci est ouvert et très facilement customisable… Par crainte de briser le serveur ou par ignorance pure, cela ne se fait donc pas beaucoup, laissant dans la liste des serveurs des centaines de serveurs de base saupoudrés d’addons superflus sans saveur réelle… Je vais donc vous apprendre à rendre votre serveur plus fun, que ce soit pour vous en tant que staff, mais aussi et surtout pour vos joueurs qui seront plus tentés de rester fidèle au serveur (les sessions de murder étant généralement d’une quizaine de rounds grand max pour ensuite enchaîner sur des rounds lassants qui provoquent l’envie de jouer ailleurs, à d’autres modes de jeux).

Dirigez-vous d’abord dans votre ftp en suivant ce chemin : garrysmod\gamemodes\murder\gamemode

Concentrez-vous sur le fichier “cl_qmenu.lua

De la ligne 62 a 71

sv_taunt.lua
 
  1. concommand.Add("+menu", function (client, com, args, full)
  2.       if client:Alive() && client:Team() == 2 then
  3.             elements = {}
  4.             addElement("Help", "help")
  5.             addElement("Funny", "funny")
  6.             addElement("Scream", "scream")
  7.             addElement("Morose", "morose")
  8.             GAMEMODE:OpenRadialMenu(elements)
  9.       end
  10. end)

Et aussi sur le fichier “sv_taunt.lua

De la ligne 17 a 59

sv_taunt.lua
 
  1. // male
  2. addTaunt("help", "vo/npc/male01/help01.wav", "male")
  3. addTaunt("scream", "vo/npc/male01/runforyourlife01.wav", "male")
  4. addTaunt("scream", "vo/npc/male01/runforyourlife02.wav", "male")
  5. addTaunt("scream", "vo/npc/male01/runforyourlife03.wav", "male")
  6. addTaunt("scream", "vo/npc/male01/watchout.wav", "male")
  7. addTaunt("scream", "vo/npc/male01/gethellout.wav", "male")
  8. addTaunt("morose", "vo/npc/female01/question31.wav", "male")
  9. addTaunt("morose", "vo/npc/male01/question30.wav", "male")
  10. addTaunt("morose", "vo/npc/male01/question20.wav", "male")
  11. addTaunt("morose", "vo/npc/male01/question25.wav", "male")
  12. addTaunt("morose", "vo/npc/male01/question15.wav", "male")
  13. addTaunt("funny", "vo/npc/male01/doingsomething.wav", "male")
  14. addTaunt("funny", "vo/npc/male01/busy02.wav", "male")
  15. addTaunt("funny", "vo/npc/male01/gordead_ques07.wav", "male")
  16. addTaunt("funny", "vo/npc/male01/notthemanithought01.wav", "male")
  17. addTaunt("funny", "vo/npc/male01/notthemanithought02.wav", "male")
  18. addTaunt("funny", "vo/npc/male01/question06.wav", "male")
  19. addTaunt("funny", "vo/npc/male01/question09.wav", "male")
  20. // female
  21. addTaunt("help", "vo/npc/female01/help01.wav", "female")
  22. addTaunt("scream", "vo/npc/female01/runforyourlife01.wav", "female")
  23. addTaunt("scream", "vo/npc/female01/runforyourlife02.wav", "female")
  24. addTaunt("scream", "vo/npc/female01/watchout.wav", "female")
  25. addTaunt("scream", "vo/npc/female01/gethellout.wav", "female")
  26. addTaunt("morose", "vo/npc/female01/question30.wav", "female")
  27. addTaunt("morose", "vo/npc/female01/question25.wav", "female")
  28. addTaunt("morose", "vo/npc/female01/question20.wav", "female")
  29. addTaunt("morose", "vo/npc/female01/question15.wav", "female")
  30. addTaunt("funny", "vo/npc/female01/doingsomething.wav", "female")
  31. addTaunt("funny", "vo/npc/female01/busy02.wav", "female")
  32. addTaunt("funny", "vo/npc/female01/gordead_ques07.wav", "female")
  33. addTaunt("funny", "vo/npc/female01/notthemanithought01.wav", "female")
  34. addTaunt("funny", "vo/npc/female01/notthemanithought02.wav", "female")
  35. addTaunt("funny", "vo/npc/female01/question06.wav", "female")
  36. addTaunt("funny", "vo/npc/female01/question09.wav", "female")

Pour bien comprendre la bidouille dans ces deux fichiers indispensables pour que tous fonctionne correctement, voici un exemple de manipulation incomplète; j’ai juste rajouté 1 catégorie de taunt dans le menu radial incrusté à l’intérieur du code du fichier “cl_qmenu.lua

cl_qmenu.lua
 
  1. concommand.Add("+menu", function (client, com, args, full)
  2.       if client:Alive() && client:Team() == 2 then
  3.             elements = {}
  4.             addElement("Help", "help")
  5.             addElement("Funny", "funny")
  6.             addElement("Scream", "scream")
  7.             addElement("Morose", "morose")
  8.             addElement("WHAT THE FUCK","WHAT THE FUCK") -- catégorie supplémentaire
  9.             GAMEMODE:OpenRadialMenu(elements)
  10.       end
  11. end)

je test in-game, mais de nombreux problèmes surviennent…

On remarque plusieurs choses. Déjà, aucun son ne se joue malgré un fast-click acharné sur la catégorie… Et on remarque qu’il y a un gros problème visuel au niveau du titre de taunt ainsi que dans sa description. On va réparer cette manipulation incomplète en allant dans le fichier “sv_taunt.lua“, pour rajouter un taunt au code cité plus haut dans une forme similaire à celle de base.

/!\ Pour les playermodels de type masculin voilà la mise en forme /!\

sv_taunt.lua
 
  1. // male
  2. addTaunt("help", "vo/npc/male01/help01.wav", "male")
  3. addTaunt("scream", "vo/npc/male01/runforyourlife01.wav", "male")
  4. addTaunt("scream", "vo/npc/male01/runforyourlife02.wav", "male")
  5. addTaunt("scream", "vo/npc/male01/runforyourlife03.wav", "male")
  6. addTaunt("scream", "vo/npc/male01/watchout.wav", "male")
  7. addTaunt("scream", "vo/npc/male01/gethellout.wav", "male")
  8. addTaunt("morose", "vo/npc/female01/question31.wav", "male")
  9. addTaunt("morose", "vo/npc/male01/question30.wav", "male")
  10. addTaunt("morose", "vo/npc/male01/question20.wav", "male")
  11. addTaunt("morose", "vo/npc/male01/question25.wav", "male")
  12. addTaunt("morose", "vo/npc/male01/question15.wav", "male")
  13. addTaunt("funny", "vo/npc/male01/doingsomething.wav", "male")
  14. addTaunt("funny", "vo/npc/male01/busy02.wav", "male")
  15. addTaunt("funny", "vo/npc/male01/gordead_ques07.wav", "male")
  16. addTaunt("funny", "vo/npc/male01/notthemanithought01.wav", "male")
  17. addTaunt("funny", "vo/npc/male01/notthemanithought02.wav", "male")
  18. addTaunt("funny", "vo/npc/male01/question06.wav", "male")
  19. addTaunt("funny", "vo/npc/male01/question09.wav", "male")
  20. addTaunt("noraj", "vo/npc/Barney/ba_laugh02.wav", "male")
  21. addTaunt("noraj", "vo/npc/Barney/ba_laugh04.wav", "male")
  22. addTaunt("noraj", "vo/k_lab/ba_whoops.wav", "male")
  23. addTaunt("noraj", "vo/k_lab2/kl_lamarr.wav", "male")
  24. addTaunt("noraj", "vo/trainyard/cit_hall_psst.wav", "male")
  25. addTaunt("noraj", "vo/coast/odessa/male01/nlo_cheer03.wav", "male")
  26. addTaunt("noraj", "vo/npc/male01/zombies01.wav", "male")


/!\ Pour les playermodels de type féminin voilà la mise en forme /!\

sv_taunt.lua
 
  1. // female
  2. addTaunt("help", "vo/npc/female01/help01.wav", "female")
  3. addTaunt("scream", "vo/npc/female01/runforyourlife01.wav", "female")
  4. addTaunt("scream", "vo/npc/female01/runforyourlife02.wav", "female")
  5. addTaunt("scream", "vo/npc/female01/watchout.wav", "female")
  6. addTaunt("scream", "vo/npc/female01/gethellout.wav", "female")
  7. addTaunt("morose", "vo/npc/female01/question30.wav", "female")
  8. addTaunt("morose", "vo/npc/female01/question25.wav", "female")
  9. addTaunt("morose", "vo/npc/female01/question20.wav", "female")
  10. addTaunt("morose", "vo/npc/female01/question15.wav", "female")
  11. addTaunt("funny", "vo/npc/female01/doingsomething.wav", "female")
  12. addTaunt("funny", "vo/npc/female01/busy02.wav", "female")
  13. addTaunt("funny", "vo/npc/female01/gordead_ques07.wav", "female")
  14. addTaunt("funny", "vo/npc/female01/notthemanithought01.wav", "female")
  15. addTaunt("funny", "vo/npc/female01/notthemanithought02.wav", "female")
  16. addTaunt("funny", "vo/npc/female01/question06.wav", "female")
  17. addTaunt("funny", "vo/npc/female01/question09.wav", "female")
  18. addTaunt("noraj", "vo/NovaProspekt/al_uhoh_np.wav", "female")
  19. addTaunt("noraj", "vo/canals/female01/stn6_incoming.wav", "female")
  20. addTaunt("noraj", "vo/npc/female01/hacks01.wav", "female")
  21. addTaunt("noraj", "vo/npc/female01/hacks02.wav", "female")
  22. addTaunt("noraj", "vo/npc/female01/ok01.wav", "female")
  23. addTaunt("noraj", "vo/npc/female01/ok02.wav", "female")
  24. addTaunt("noraj", "vo/k_lab/al_uhoh01.wav", "female")

Voilà qui est fait… Et comme vous êtes attentif vous vous dites : “Mais… comment modifier le titre et la description affichés dans le menu ?”.

C’est une très bonne question ! C’est essentiel au bon fonctionnement de la modification des taunts car actuellement on peut entendre les sons mais visuellement c’est pas encore ça ! Pas de panique cependant,  il vous suffit d’aller dans :

 garrysmod\gamemodes\murder\gamemode\lang

 (je vous conseille de le faire dans les deux fichiers langue)

Ouvrez les fichiers “english” & “french

De la ligne 74 a 81

 Il suffit de rajouté à la suite ceci

english.lua et french.lua
 
  1. pt.voiceNoraj = "Noraj"
  2. pt.voiceNorajDescription = "Le mode taquin"

Reboot… Wow, splendide non ?

Vous avez réussi félicitation ! 

Vous pouvez élargir la roue de plusieurs catégories (Attention… Vos catégories de taunt dans la roue doivent rester un peu espacées de manière à ne pas déborder les unes sur les autres. N’en rajoutez pas une vingtaine non plus, préférez modifier celles de base pour économiser de l’espace  !)

De très nombreuses manipulations in-game peuvent provoquer un crash du serveur, celle qui suit fait probablement partie des plus violentes de par sa facilité d’exécution mais surtout de part son aptitude à faire crash le serveur instantanément.

La manipulation consiste à faire un enchaînement d’utilisation d’outils très simples via le toolgun ainsi que des undo de props. Pour définitivement restreindre cet inévitable problème de sécurité pour votre serveur voilà les différentes manières de patch cette grave manip de “Minge Player

— Solution 1 

  1. Installer sur le serveur FPP ( Falco prop protection) disponible en cliquant sur moi 😉 ( version workshop ! )
  2. Se diriger dans cette ordre de recherche : Utilitaires > Falco’s prop protection > Admin settings > Blocked models options .
  3. Viser une bouncy ball tous en ouvrant le toolgun pour cliquer sur > Add model of entity you’re looking at

— Solution 2 

  1. Suivre l’instruction de la solution 1 
  2. Se diriger dans cette ordre de recherche : Utilitaires > Falco’s prop protection > Toolgun options.
  3. Vérifier si la case Toolgun protection enable est bien cochée.
  4. Viser une bouncy ball tout en ouvrant le toolgun pour cliquer sur > Add the entity you’re looking at

Voilà, cette technique de crash server via exploitation du moteur n’arrivera pas/plus sur votre serveur 😉

Avec plus de 6000H sur gmod, j’ai beaucoup eu l’occasion de voir en étant gradé, que des fondateurs ne connaissaient pas assez bien le panel d’administration ULX… Pas bien grave en soi, c’est même logique vu qu’il n’y a pas vraiment de tutoriel complet sur le sujet (des vidéos existent mais sont pour la plupart uniquement informatives concernant les grades).
Alors, aujourd’hui je vous propose une sorte de guide complet sur toutes les manipulations ULX indispensables à connaître que ce soit pour un Sandbox ou un Darkrp !

PS: pour les gens frileux de la lecture je vous conseille la très bonne vidéo d’Ultimatebyte qui a réussi a faire un condensé de 29mn sur le sujet qu’est ULX ainsi que son article disponible sur le site terageek.org 😉

•·.·´¯`·.·• Télécharger Ulx & Ulib  •·.·´¯`·.·•

____________________________________________________________________________

Ulx, Kézako ?

Avant de directement foncer tête baissée dans le sujet, il est bon de faire une petite piqûre de rappel concernant les différentes sections que vous allez la plupart du temps voir chaque jour sur votre serveur en tant que staff.

De base sur ulx, quand on fait la commande !menu en admin, ça ouvre ceci :

Bien, maintenant on va voir comment se mettre un rang qui permet d’avoir la totalité des commands disponible dans le menu d’administration :

Direction votre panel hébergeur pour écrire “ulx adduser VOTREPSEUDO LEGRADE

grade de base > superadmin > admin > operator (Operator ne servant sensiblement a rien il faut le savoir..)

Maintenant on va s’intéresser au différentes sections disponibles

~~~~~~~~ Tout savoir sur la section ‘Groups’ ~~~~~~~~

Ici, vous allez pouvoir régler les différentes permissions attribuées de base aux grades de votre serveur,

Retenez juste une chose essentielle : NE SUPPRIMEZ JAMAIS DES GRADES & NE LES RENOMMEZ JAMAIS.

Bien, maintenant nous allons voir comment gérer les permissions attribuées en terme de commandes 🙂

Mhum… Il y a beaucoup trop de commandes inutiles pour le travail de modération d’un admin… Cela fait aussi sens sur le grade “Modérateur”, pour nettoyer tout cela il suffit de décocher les commandes que vous ne jugez pas indispensables pour le grade.

Petite astuce ! : Saviez-vous que vous pouviez régler le votekick ou voteban précisément pour n’importe quel groupe ? Cela reste une bonne solution pour les joueurs se retrouvant livrés à eux-mêmes, sans staff pour s’occuper d’un joueur gênant qui refuse de respecter les règles malgré avertissement ! Pas d’inquiétude concernant l’abus de vote, il suffit de préciser une raison obligatoire et un temps maximum pour le voteban relativement bas (je vous conseille 5H maximum) sans oublier de régler un “ratio” requis (le pourcentage minimum de votes pour).

Envie de couleur dans votre Chatbox de base quand une personne écrit ? Aucun problème, la team Ulysse (dev de ulx et ulib) ont pensé à cette option !

Il vous suffit d’aller ici :

Résultat concluant !

Bien maintenant retournons ici pour comprendre comment utilisée le fameux “can target“,

C’est assez simple voici un exemple d’illustration :

Ce réglage vous confère le pouvoir de prendre n’importe qui avec votre physgun (en gros)

Et celui ci vous permettra de faire en sorte que par exemple les superadmins ne puissent pas se prendre entre eux… (même si il est assez fun de se taquiner entre SA il faut l’avouer 😉  !)

Concernant les Worldprops, cela n’est pas du ressort de Ulx mais de Falco’s Prop Protection (ne pas confondre les deux; l’un viens d’une team et l’autre d’une seul personne, initialement dev pour le gamemode Darkrp mais heureusement compatible avec la quasi totalité des gamemodes dotés d’un spawnmenu)

~~~~~~~~ Tout savoir sur la section ‘Maps’ ~~~~~~~~

De simples options sont fournies ici, comme la possibilité de faire un changement de map voire de mode de jeu mais il faut savoir que la plupart des serveurs n’utilisent plus cette options (concernant le votemap) à cause de la command !rtv ou le fait que cette permission soit souvent restrict donc inutilisable (paradoxalement rarement en darkrp)

~~~~~~~~ Tout savoir sur la section ‘Settings’ ~~~~~~~~

Cet endroit dans ULX reste sans doute le plus essentiel… En effet la quasi-totalité des réglages disponibles sont vitaux pour votre serveur, on remarque par exemple que je n’ai pas coché la case “Limited Physgun” et coché “Enable Noclip”, ce qui veux dire que les joueurs seront en mesure non seulement de noclip sans forcément avoir besoin d’un grade supérieur, mais pire, qu’ils vont aussi pouvoir prendre les props des autre joueurs…

Il en va de même pour les réglages via barre de ma catégorie sandbox… La “dynamite” est réglée sur 10… Un véritable cadeau pour les gens envieux de carnage général  😐 .

Voilà vite fait la description de ce qui saute au yeux dans cette section :

  • Enable Noclip = Donne la possibilité de noclip à tous,
  • Enable Godmode = Met tout le monde invincible,
  • Enable PvPDamage = Permet de faire du dégâts entre joueurs,
  • Spawn Witch Weapons = Donne les armes de base HL2 au joueurs,
  • Persist Props = Enregistre un prop sur la map (nécessite changelevel !),
  • Bone Manip Misc = Pouvoir modifier les os de ragdolls ect..,
  • Bone Manip NPC = Pouvoir modifier les os des NPC’s,
  • Bone Manip Player = Pouvoir modifier les os des joueurs (vraiment drôle 😛  )

On passe maintenant sur un coin très intéressant permettant de régler ulx en général (comme les adverts dans la chatbox ou directement sur l’écran du joueur , mais aussi les configurations interne : Votemaps / MOTD).

  • Exemple basique d’un ban message edit directement dans le panel in-game  😀

  • Exemple basique des raisons de kick/ban

Bref vous l’aurez compris le coté “server” permet d’ajuster précisément des détails/réglages importants pour le serveur .

~~~~~~~~ Tout savoir sur la section ‘Bans’ ~~~~~~~~

Ici, vous trouverez tous les bans in-game (et panel) des joueurs n’ayant plus accès temporairement ou définitivement à votre serveur, vous pouvez bien évidemment éditer le ban d’une personne ou son motif en faisant un clic droit.

voila ce guide est maintenant terminer , en espérant avoir fait apprendre beaucoup de choses 

J’imagine que beaucoup sont blasés du fait de devoir faire la liste complète de la spawnlist, car ça demande beaucoup trop de temps qui pourrait mieux être utilisé sur une autre tâche.

Alors voici quelques astuces ainsi que la liste complète des props inutiles (explosifs, immenses, ou simplement jugés inutiles) !

— Blacklist via la console :

L’utilisation du système via le toolgun peut en effrayer beaucoup, notamment à cause des props impossibles à cibler correctement à cause de la rigidité du système de blacklist, qui demande de viser le prop pour le sauvegarder dans la liste des models bloqués.
Cette commande permet via la console de directement blacklist le prop via l’indication de son nom de model (clique droit sur un prop dans le spawn menu pour C/C son nom de model) :

FPP_AddBlockedModel MODELDUPROP.MDL 

— Blacklist via l’addons du workshop : 

Il existe un homme sur cette terre qui a eu la brillante idée de faire un système de blacklist en relation avec FPP vraiment intuitif & fluide ; un clic gauche pour blacklist et un clic droit est nécessaire pour whitelist… Aussi simplement que ça. Bref un véritable gain de temps pour les serveurs qui veulent ‘rush’ la blacklist des .mdl 😉

lien steam

 — Blacklist via un code  :

Aussi égoïste que ce soit, ou probablement par simple oubli, la communauté FR ne partage pas son fichier de props blacklist entre fondateurs, ce qui s’avère quand même bien utile afin d’économiser du temps et avoir un début de bonnes relations entre communautés. 

Voici donc deux code bien distint qui sont vraiment pratique pour blacklist les props considéré comme dangereux pour le gameplay 😉 :

Installation: lua/autorun/server < faire un fichier

blacklist_props.lua
 
  1. FPP = FPP or {}
  2. local blacklistedProps = {
  3. 'models/props_buildings/project_destroyedbuildings01.mdl',
  4. 'models/props_combine/CombineTrain02b.mdl',
  5. 'models/Combine_Room/combine_monitor002.mdl',
  6. 'models/Combine_Room/combine_monitor003a.mdl',
  7. 'models/Cranes/crane_body_LOD.mdl',
  8. 'models/Cranes/crane_docks.mdl',
  9. 'models/Cranes/crane_frame.mdl',
  10. 'models/Cranes/crane_frame_interior.mdl',
  11. 'models/props_wasteland/rockgranite04c.mdl',
  12. 'models/props_wasteland/rockgranite04b.mdl',
  13. 'models/props_phx/amraam.mdl',
  14. 'models/props_phx/ball.mdl',
  15. 'models/props_phx/cannonball.mdl',
  16. 'models/props_phx/misc/flakshell_big.mdl',
  17. 'models/props_phx/mk-82.mdl',
  18. 'models/Cranes/crane_docks.mdl',
  19. 'models/props_phx/torpedo.mdl',
  20. 'models/props_phx/ww2bomb.mdl',
  21. 'models/Cranes/crane_docks.mdl',
  22. 'models/props/de_nuke/containmentbuilding.mdl',
  23. 'models/props_trainyard/train_building001.mdl',
  24. 'models/props_trainyard/train_building001b.mdl',
  25. 'models/props_farm/building001.mdl',
  26. 'models/props_farm/building002.mdl',
  27. 'models/props_debris/donner_building1_wall1.mdl',
  28. 'models/props_debris/donner_building1_corner2.mdl',
  29. 'models/props_buildings/CollapsedBuilding01a.mdl',
  30. 'models/props_buildings/CollapsedBuilding01aWall.mdl',
  31. 'models/props_buildings/CollapsedBuilding02a.mdl',
  32. 'models/props_buildings/CollapsedBuilding02b.mdl',
  33. 'models/props_buildings/CollapsedBuilding02c.mdl',
  34. 'models/props_buildings/building_002a.mdl',
  35. }
  36. timer.Simple(1,function
  37. sql.Begin()
  38. for _, v in pairs(blacklistedProps) do
  39. FPP.BlockedModels[v] = true
  40. sql.Query("REPLACE INTO FPP_BLOCKEDMODELS1 VALUES("..sql.SQLStr(v)..");")
  41. end
  42. sql.Commit()
  43. end)

Second code qui fonctionne sans FPP

Installation: lua/autorun/server

blacklist_props.lua
 
  1. local blacklistedProps = {
  2.     ['models/props_buildings/project_destroyedbuildings01.mdl'] = true,
  3.     ['models/props_combine/CombineTrain02b.mdl'] = true,
  4.     ['models/Combine_Room/combine_monitor002.mdl'] = true,
  5.     ['models/Combine_Room/combine_monitor003a.mdl'] = true,
  6.     ['models/Cranes/crane_body_LOD.mdl'] = true,
  7.     ['models/Cranes/crane_docks.mdl'] = true,
  8.     ['models/Cranes/crane_frame.mdl'] = true,
  9.     ['models/Cranes/crane_frame_interior.mdl'] = true,
  10.     ['models/props_wasteland/rockgranite04c.mdl'] = true,
  11.     ['models/props_wasteland/rockgranite04b.mdl'] = true,
  12.     ['models/props_phx/amraam.mdl'] = true,
  13.     ['models/props_phx/ball.mdl'] = true,
  14.     ['models/props_phx/cannonball.mdl'] = true,
  15.     ['models/props_phx/misc/flakshell_big.mdl'] = true,
  16.     ['models/props_phx/mk-82.mdl'] = true,
  17.     ['models/Cranes/crane_docks.mdl'] = true,
  18.     ['models/props_phx/torpedo.mdl'] = true,
  19.     ['models/props_phx/ww2bomb.mdl'] = true,
  20.     ['models/Cranes/crane_docks.mdl'] = true,
  21.     ['models/props/de_nuke/containmentbuilding.mdl'] = true,
  22.     ['models/props_trainyard/train_building001.mdl'] = true,
  23.     ['models/props_trainyard/train_building001b.mdl'] = true,
  24.     ['models/props_farm/building001.mdl'] = true,
  25.     ['models/props_farm/building002.mdl'] = true,
  26.     ['models/props_debris/donner_building1_wall1.mdl'] = true,
  27.     ['models/props_debris/donner_building1_corner2.mdl'] = true,
  28.     ['models/props_buildings/CollapsedBuilding01a.mdl'] = true,
  29.     ['models/props_buildings/CollapsedBuilding01aWall.mdl'] = true,
  30.     ['models/props_buildings/CollapsedBuilding02a.mdl'] = true,
  31.     ['models/props_buildings/CollapsedBuilding02b.mdl'] = true,
  32.     ['models/props_buildings/CollapsedBuilding02c.mdl'] = true,
  33.     ['models/props_buildings/building_002a.mdl'] = true,
  34. }
  35. local function checkModels(ply, model)
  36.     if !ply:IsAdmin() and blacklistedProps[model] then
  37.         ply:SendLua([[notification.AddLegacy("Vous ne pouvez pas faire spawn ce props",NOTIFY_ERROR,2)]])
  38.         return false
  39.     end
  40. end
  41. hook.Add("PlayerSpawnEffect","blacklistBadProps",checkModels)
  42. hook.Add("PlayerSpawnNPC","blacklistBadProps",checkModels)
  43. hook.Add("PlayerSpawnObject","blacklistBadProps",checkModels)
  44. hook.Add("PlayerSpawnProp","blacklistBadProps",checkModels)
  45. hook.Add("PlayerSpawnRagdoll","blacklistBadProps",checkModels)
  46. hook.Add("PlayerSpawnSENT","blacklistBadProps",checkModels)
  47. hook.Add("PlayerSpawnSWEP","blacklistBadProps",checkModels)
  48. hook.Add("PlayerSpawnVehicle","blacklistBadProps",checkModels)

— Remove les models blacklist de base de Falco’s Prop Protection :

Pour une raison obscure, le dev de FPP a décidé d’imposer une mini-liste de base dans le fichier concernant le panel de la blacklist, rien de grave mais assez frustrant de voir des props inoffensifs dans cette pré-config, comme par exemple le model du micro-onde…

Voici donc l’indication du fichier à modifier pour supprimer à votre guise la mini-liste :

accessible ici

.

Un pointshop s’accompagne très souvent d’un VIP sur un serveur , le pointshop est un très très bon moyens de fidéliser une communauté en stimulant son sens de la ‘collection‘ (l’effet des cartes pokémon ah..nostalgie) .

dans n’importe quel  type de gamemode confondu le pointshop se doit de réunir pour les VIP des playermodels , des masques ainsi que des chapeaux et bien évidemment des Boosts , mais voilà la problématique : comment réserver un item à un VIP ? c’est ce que nous allons voir de manière très rapide & intuitive 🙂

  • Donc pour commencer dirigez vous dans le fichier lua de l’item censé être exclusivement utilisable pour les VIP, ensuite il vous suffit de rajouter cette petite ligne
  • item.lua
     
    1. ITEM.Name = 'Satan'
    2. ITEM.Price = 666
    3. ITEM.Model = 'models/enfer/satan.mdl'
    4. ITEM.AllowedUserGroups = {'Fondateur' , 'VIP' , 'VIP+' }

    pour terminer n’oubliez pas de reboot et hop ! , vous voilà avec un items uniquement pour le VIP (ainsi que les autres grades indiqués)

    Crédit

    Merci à stephXX62 pour la base initiale de ce tutoriel sur mtxforum en réponse a une personne demandant de l’aide a ce sujet 😉