3 - Ent Editor - par FSMOD
La Fonction Ent Editor
Cette fonction est exclusivement réservée au manager d'un serveur (Sysop)
GENERALITES
Le mode MDK a la particularité d'intégrer une fonction dédiée à la conception de fichier en extension ent. Le fichier ent est associé à une map, il porte le même nom et a le pouvoir de modifier certains éléments de cette map comme les coordonnées et le nombre des points de respawn. Il permet aussi d'ajouter de la végétation, des édifices, des accessoires divers, des points de récupération d'armes et de munitions et d'autres concepts plus élaborés. Il est intégré au serveur et le joueur lambda n'a pas à se soucier de sa gestion.
Serveur et client possèdent par défaut la même map originelle et toutes les données contenues dans le fichier ent sont transmises au client lors des échanges de paquets. Le client évolue donc dans un décor modifié alors qu'il utilise la map standard. Il n'existe aucun problème d'incompatibilité.
LES BASES Pour mieux comprendre la conception d'un fichier ent il est nécessaire d'ouvrir un fichier map. On prendra pour exemple la map VOK.
En décompactant le fichier VOK.pk3 on obtient plusieurs répertoires. Le seul qui nous intéressera est MAPS. Il contient le fichier principal à savoir VOK.bsp. A noter que tous les fichiers pk3 concernant les maps sont tous construits sur le même principe.
Les 2 captures suivantes illustrent ce qui précède. La zone de texte a été tronquée par souci de concision.
| Début de la zone de texte | Fin de la zone de Texte |
![]() |
![]() |
On remarque que cette zone texte englobe essentiellement une suite de paragraphes marqués par une accolade ouvrante et fermante. Un point de détail particulier concerne le premier paragraphe qui semble ne pas avoir d'accolade ouvrante. En fait cette accolade est située en fin de la dernière ligne binaire (ligne 15912) et n'apparaît pas sur la capture. D'une manière générale chaque paragraphe doit toujours être inscrit entre ses 2 accolades. L'absence de l'une ou l'autre entraine invariablement le plantage du serveur.
La zone de texte, du début à sa fin représente en quelque sorte le contenu typique d'un fichier ent.
IMPORTANT: Pour tous vos essais avec le mode Ent Editor il est conseillé de procéder en LAN plutôt que sur votre serveur distant car durant l'édition d'une map, le serveur devient inaccessible à tout joueur et même aux bots. La création d'un serveur LAN passe par une installation identique à un serveur distant (Windows ou Linux). Ne pas utiliser l'option 'CREATE SERVER' du module client qui ne donnera pas satisfaction.
ENT EDITOR - PREPARATION Nous conservons toujours la map VOK pour la suite du développement.
Etablir un simple fichier mapcycle comme suit:

Lancer le serveur LAN et s'y connecter
Ouvrir le menu MDK / BINDS et créer un bind spécifique, soit ici la touche END (fin)
Cliquer sur la touche END pour ouvrir le menu du mode Ent Editor.
Avant de continuer, quelques points de détail sur ce panel
| Groupes | Attribution |
![]() |
Boutons dédiés au choix des différents objets, bots, modèles MD3, modèles BSP,
flags, briefcase, pickup armes, santé, armure et backpacks.
|
![]() |
Les touches X,Y et Z autorisent le déplacement des objets en coordonnées
positives ou négatives, sur les 3 axes orthonormés.
Les touches + et - fixent le pas d'incrémentation en pixel. Le pas s'affiche dans la
fenêtre "Move Increments"
La valeur 1 permet une précision extrême.
La touche C place automatiquement l'objet à la position de l'observateur (vous) |
![]() |
Les touches numérales font pivoter l'objet d'un valeur angulaire équivalente à
leur valeur faciale. Les pas minimum sont de 45°.
La touche C oriente l'objet orthogonalement à l'axe de vue de l'observateur.
Selon sa position, l'orientation de l'objet peut être réglée au degré près.
|
![]() |
Chaque objet créé reçoit un ID (numéro). Leur sélection permet de les situer,
de les supprimer ou de les cloner.
Cette dernière option est très pratique pour dupliquer des objets identiques
à des coordonnées différentes (grillage, végétation herbeuse etc..)
|
![]() |
1ère icône : Lancement du mode Ent Editor
2ème icône : Gestion des fichiers
|
ENT EDITOR - RECUPERATION DU FICHIER ENT Il convient maintenant d'extraire cette partie texte du fichier BSP aux fins de créer le fichier ent sur lequel s'appuieront toutes les modifications que l'on prévoie d'accomplir. Pour ce faire, la procédure est la suivante:
Cliquer sur le bouton Ent Editor. Cette action est unique mais nécessaire pour démarrer le mode. Elle est irréversible malgré un nouvel appui sur ce bouton.

La map est relancée et vous êtes maintenant en mode Ent Editor. Cette action va créer automatiquement le fichier vok_sources.ent dans le répertoire edits du serveur LAN. Il servira désormais de base pour toutes vos opérations de remodelage.
Cliquer sur le bouton Files.

Cliquer sur le bouton Load Sources Data. Cette action va relancer la map et affichera tous les modèles et les items du fichier vok_sources.ent.

Voici une vue partielle de la map où tous les objets sont visibles. A noter toutefois que la plupart d'entre eux sont simplement représentés par 3 vecteurs orthonormés. Leur identification est toujours possible grâce à un baptême qui s'affiche en se rapprochant de leur position.
On peut donc répertorier les plus importants comme le montre le tableau suivant:
ENT EDITOR - CREATION D'UN POINT DE SPAWN
On se fixe pour objectif d'ajouter un bot pour le DM.
Cliquer sur le bouton Spawn point.

Sélectionner un point de spawn en fonction du gametype (DM dans l'exemple). A noter que la création du fichier ENT prendra un suffixe propre au gametype choisi soit ici, vok_dm.ent
Cliquer sur le bouton Deathmatch/Team, un nouveau bot sera créé.
Revenir à la position du bot.
Tous ses renseignements apparaitront chaque fois que vous survolerez ou vous rapprocherez d'un objet créé sur la map.
IMPORTANT: Un point de respawn doit affleurer le sol mais ne jamais être dans le sol, auquel cas le bot et surtout le joueur, risquent fort de se retrouver les pieds pris dans la masse avec l'impossibilité de se mouvoir. Il est donc absolument nécessaire d'ajuster la valeur Y au pixel près. Par mesure de prudence quelques pixels au-dessus du sol ne seront pas à dédaigner. Certains codeurs de maps n'hésitent pas d'ailleurs, à placer le spawn à bonne hauteur du sol.
Afin de s'affranchir de cette contrainte qui consiste, après la création du point de respawn et sa matérialisation par la figurine représentant le bot, de veiller à la bonne hauteur de ses pieds hors du sol, il est plus judicieux de passer du mode spectateur au mode player. Ainsi lorsque vous commanderez la création du point de respawn, il sera créé à la bonne hauteur, attendu que c'est vous même qui serez remplacé par le bot et comme vous marchez sur une surface solide, il n'y aura aucun risque que vous y soyez englué.
Le mode spectator restera plus adéquat pour la création et le positionnement des items BSP ou MD3.
ENT EDITOR - CREATION D'UN ITEM
Cliquer sur le bouton Items

Choisir l'objet dans la liste déroulante et procéder comme précédemment.
ENT EDITOR - CREATION D'UN POINT DE PICKUP WEAPON
Cliquez sur le bouton Wpn pickup

Choisir l'objet dans la liste déroulante et procéder comme précédemment.
ENT EDITOR - CREATION D'UN POINT DE PICKUP ACCESSOIRES
Cliquer sur le bouton Acc pickup

Choisir l'objet dans la liste déroulante et procéder comme précédemment.
ENT EDITOR - CREATION D'UN MODELE BSP
L'édition des modèles BSP est de loin la partie la plus intéressante de la fonction Ent Editor car elle permet de modifier profondément le décor d'une map.
On se propose d'ajouter un arbre sur le toit d'un temple car à cet endroit, il ne présente aucune interférence avec d'autres objets existants. A noter qu'il aurait été possible de le placer sans risque dans un autre endroit du décor en évitant d'englober des objets présents.
Cliquer sur le bouton BSP

Choisir l'objet dans la liste déroulante et procéder comme précédemment.
![]() |
![]() |
AIDE: Un léger inconvénient existe néanmoins dans l'absence de préavis graphique des modèles BSP. En effet, à l'opposé des items et accessoires précédents qui sont connus par leur simple évocation, les modèles BSP ne sont pas facilement interprétés par l'opérateur à moins d'avoir une longue pratique. Les modèles BSP, (plus de 200) sont répartis dans 6 répertoires inclus dans le répertoire INSTANCES du fichier système maps.pk3 comme le montre la capture suivante:

Afin de faciliter leur appréhension avant leur édition, vous trouverez à ce lien un fichier RAR qui après décompactage vous donnera une représentation graphique de tous les modèles BSP. Chaque image est agrémentée de son baptême. Il sera donc plus facile de rapprocher une désignation dans la liste des objets avec sa représentation picturale.
Voici quelques aperçus :
![]() |
![]() |
![]() |
![]() |
ENT EDITOR - CREATION D'UN MODELE MD3
Cliquez sur le bouton MD3

Choisir l'objet dans la liste déroulante et procéder comme précédemment.
![]() |
![]() |
IMPORTANT : Il existe une différence fondamentale entre les modèles BSP et les modèles MD3 qu'il est nécessaire de comprendre:
BSP : Les modèles BSP qualifient des volumes solides c'est-à-dire offrant un obstacle aux joueurs. Ils sont indépendants et sans liaison aucune avec le codage originel de la map.
MD3 : Les modèles MD3 que vous ajouterez ne seront pas solides et tout joueur pourra les traverser de part en part. Ainsi, placer une voiture au milieu d'une map n'est pas très judicieux et surtout pas très réaliste. Le modèle MD3 sera donc placé de préférence dans des points de la map inaccessibles aux joueurs. Dans l'exemple qui précède, j'ai posé la statue au sommet de la tour de garde attendu qu'aucun joueur ne peut monter la-haut. Elle ne trône ici que pour la décoration.
Pour info les modèles MD3, déjà existants dans une map, ont été prévus à l'origine par le programmeur.
EXEMPLE : Cette jeep posée dans le décor de la map mp_col2 est un modèle MD3.
Sa construction réunit 4 planches graphiques qui constituent son "habillage" extérieur.
![]() |
![]() |
![]() |
![]() |
On retrouve la présence de cette construction à la fois dans la zone binaire où la capture suivante montre le pointage de la première planche:

Ainsi que dans un paragraphe de la zone texte:

Toutefois il est possible de placer certains modèles MD3 au milieu de la zone d'action, à savoir les modèles représentatifs d'un décor herbeux, qui n'offriront aucun obstacle aux mouvements tout en améliorant l'aspect de la map.
La capture suivante montre quelques pousses vertes ajoutées dans le sable de la vallée des rois.
Concernant les modèles liés à la végétation, voir principalement dans models/objects/colombia/jungle.
Mais il y en a d'autres......
![]() |
![]() |
![]() |
![]() |
En résumé:
Placer les modèles BSP ou vous voulez en s'assurant toutefois que leur position n'englobe pas un point de respawn. Pour y remédier il est préférable de procéder en priorité aux ancrages des modèles BSP et de revoir ensuite tous les points de respawn.
Placer les modèles MD3 dans des endroits où les joueurs ne passeront pas sauf choisir des éléments de végétation perméables.
Armez vous de patience............![]()
Un dernier point qu'il convient de souligner concerne les ombres portées par l'ajout des modèles BSP et MD3: elles n'existent pas !
Les ombres sont crées à la conception de la map par le programme dédié et ne peuvent en aucun cas, être produites par un fichier ent.
ENT EDITOR - SAUVEGARDE
Cliquer sur le bouton Files.

Cliquer sur le bouton Save Project.
Un fichier vok_dm.ent sera créé dans le répertoire edits, comme suit:

Ce fichier vok_dm.ent sauvegardera les modifications effectuées sur la map VOK.

Je rappelle que le fichier vok_sources.ent représente la copie conforme de la zone texte du fichier vok.bsp encapsulé dans le fichier d’origine vok.pk3. Ce fichier ne sera jamais altéré par le mode Ent Editor et restera toujours la référence à laquelle on pourra repartir pour de nouveaux essais.
Si l’on place le fichier vok_dm.ent dans le répertoire MODS du serveur, une fois la map vok lancée, les nouveaux objets introduits dans la map apparaitront au même titre que tous les autres éléments codés d'origine, ce qui induit une constatation à savoir que les données du fichier ent sont prioritaires et complémentaires sur celles du fichier BSP.
Remarque: Dans le premier paragraphe une ligne message est introduite mentionnant le nom du créateur du fichier ent. Vous avez toute latitude pour en modifier éventuellement le texte.
ENT EDITOR - VARIANTE
Editer le fichier vok_sources.ent
Repérer tous les paragraphes qui contiennent la ligne classname info_player_deathmatch comme cet exemple suivant :
Ainsi qu'éventuellement tous les fichiers classname gametype_player comme cet exemple:
{
"classname" "gametype_player"
"origin" "417 -2656 62"
"gametype" "dm tdm"
"angle" "360"
"spawnflags" "0"
}
Une remarque au passage, concernant cette dernière forme qui représente une erreur de codage des bots affectés au DM. Elle a été la cause de plantages sous le défunt mode 1FX. Seul le classname info_player_deathmatch est adéquat pour coder les respawns DM
Effacer tous ces paragraphes.
Rebaptiser vok_sources.ent en vok_dm.ent
Placer le fichier vok_dm.ent dans le répertoire MODS du serveur.
Lancer le serveur LAN. Se connecter et lancer Ent Editor

Cliquer le bouton Files

Cliquer sur le bouton Load Ent Data

Vous arrivez sur la map VOK où tous les items seront présents sauf les bots affectés au DM.
Ces paragraphes peuvent être de la forme suivante:
Avant de placer vos bots, si vous avez envisagé d'inclure dans la map un modèle BSP, la présence d'un item pourrait être gênant. Dans ce cas il possible de l'éliminer même si ce n'est pas vous qui l'avez créé. Pour ce faire il suffit de se rapprocher de l'objet afin de noter son ID puis de saisir cet ID dans la fenêtre Sélection ID du panel de contrôle et enfin de cliquer sur le bouton Delete, comme le montre la capture suivante:

Remarque: Cette variante n'introduit pas de commentaires dans la ligne message du premier paragraphe du fichier vok.ent ou à tout le moins, ne modifie pas cette ligne si d'aventure elle existait déjà dans le fichier vok_sources.ent. Il conviendra alors soit de la modifier, soit de la créer.
N'oubliez pas de sauvegarder votre travail en cliquant sur le bouton Files puis Save Project !
ENT EDITOR - EXTRAS
Corrections de certaines erreurs graphiques
Il existe quelques maps entachées d'imperfections. qui peuvent être facilement corrigées grâce aux fichiers ent. Lorsque j'ai expérimenté plus de 1300 maps, certaines dont le graphisme très soigné avait retenu mon attention m'avaient toutefois un peu déçu par des erreurs invalidant les mouvements des joueurs. C'est le cas, la plupart du temps de formes codées dans le fichier BSP mais mal "habillées" par des modèles MD3 comme je l'ai évoqué plus haut.
Pour l'exemple je vais évoquer le cas de la map mp_dust2. Il y en a beaucoup d'autres hélas. Celle qui nous occupe présente un beau graphisme aux couleurs chaudes et lumineuses mais hélas ternies par un petit bug aux abords des 2 camions parqués. Les bots se retrouvaient souvent englués dans le bas de la carrosserie et des pneus, révélant du fait une anomalie entre la forme codée et le modèle MD3.
Le but de la correction était d'interdire le rapprochement latéral des camions en ajoutant des obstacles de proximité.
Voici l'aspect initial de la map (clic pour zoom):
1er projet de modification qui consiste à encercler le parc d'une clôture infranchissable
2ème projet qui consiste à flanquer les côtés des véhicules par des caisses et un muret
Je ne me suis décidé en adoptant la deuxième option.
Les échelles
Je terminerai par le cas d'ajout d'échelles sur certaines façades d'immeubles. Cet artifice est très utile pour grimper sur des sites élevés.
Le modèle BSP de prédilection sera l'objet Watertower du répertoire generic. Ce modèle illustre un château d'eau muni d'une échelle verticale. L'astuce est de positionner la structure principale du réservoir et de son support à l'intérieur d'un ensemble solide déjà en place dans le décor, de manière à la rendre invisible, excepté l'échelle. Une illustration sera plus explicite.
On se propose, dans la map mp_basrah, d'appliquer une échelle sur un mur afin de pouvoir accéder aux espaces supérieurs de la 'casbah'.
Les travaux auront lieu ici:
On amène le château d'eau:
On assure son orientation, son élévation et son intégration:
On peaufine l'affleurement de l'échelle jusqu'au résultat final:
Accessoirement le modèle watertower peut être aussi utilisé pour colmater des ouvertures de puits ou de trous divers dans le sol, visant à interdire l'accès aux passages sous terrains.
On va rester sur la map mp_basrah et l'objectif sera de boucher un regard d'accès vers les égouts selon la séquence illustrée suivante:
Site de l'opération:
Présentation du modèle:
Travaux terminés, accès interdit.
Dans cet exemple on aura prit soin, préalablement à l'obstruction des regards d'accès aux égouts, de supprimer tous les points de respawn à l'intérieur des galeries, évidement !
Remarque: Lorsque vous appliquerez une échelle, vérifiez que tout le reste de la structure de la tour soit parfaitement intégré et rendu invisible dans la masse du décor existant. En effet, si vous envisagez de plaquer une échelle sur un mur dont la partie intérieure de ce dernier, fait partie du théâtre d'évolution des belligérants, le réservoir et les pieds du modèle viendront obstruer les axes de passages, risquant même d'emprisonner des points de spawn.
Juste un exemple pour illustrer, dans la map mp_jor1
Bel aspect extérieur
Mais cherchez l'erreur à l'intérieur !
En conclusion, le travail sur les fichiers ENT nécessite un soin non négligeable, tant par la conception même que par la vérification qui la sanctionne. Mais de par le contenu des développements non exhaustifs qui précèdent, vous en êtes certainement convaincu.
Bon courage
-=
=-