Tout ce qu'il faut pour créer des addons PhysiCore : scripts Lua, props en glTF, maps avec l'éditeur intégré, constructions (dupes) et publication sur le Steam Workshop.
Par où commencer ?
DébutantPremier addonCréer un addon Lua en 5 minutes et le voir tourner en jeu.
BasesStructure d'un addonLe dossier,
addon.json, et ce que chaque sous-dossier contient.
RéférenceAPI Luahook, concommand, player, ents, timer…
RéférenceHooksRéagir aux événements : apparition, mort, chat, props, physgun.
RéférencePlayer et EntityToutes les méthodes des joueurs et des entités.
CréerGamemodesTon propre mode de jeu : règles, équipes, manches, HUD.
RéférenceMonde et physiqueAngles, traces, forces, contraintes, explosions, changement de map.
RéférenceLua client et réseauHUD, net, variables réseau.
ClientRendu 3D et effetsTextes dans le monde (3D2D), images, polices, halos, particules, effets d'écran.
ClientMenus, clavier et sourisFenêtres, boutons, listes (vgui), touches et PlayerButtonDown.
RéférenceDonnées et réglagesfile.Write, JSON, ConVars réglables par l'hôte.
EffetsSons et lumièresSirènes, lumières de gyrophare, pièces qui brillent, ce que vise un joueur.
OutilÉditeur de codeÉcrire, tester et recharger ton Lua dans le jeu.
ContenuProps, maps, dupesModèles .glb depuis Blender, identifiants, constructions.
CréerÉditeur de modèlesImporter des modèles (glTF, FBX), régler collisions, physique et matériaux, publier un pack.
CréerArmesArmes à balles, corps à corps, lance-roquettes et grenades : modèles, animations importées, tir, recul, munitions, visée.
CréerVéhiculesConduire à plusieurs, et créer ses voitures : roues, moteur, boîte, suspension, sons, feux.
CréerÉditeur de mapConstruire une map dans le jeu, à plusieurs, et la tester en un clic.
CréerArmes et outils en LuaArmes SWEP, outils de toolgun, armes au sol, hooks du toolgun et de E.
GamemodesPoints, zones et entités de mapSpawns d'équipe, zones déclencheurs et entités placées dans l'éditeur, lus par le Lua.
HébergerServeurs et administrationServeur dédié Linux, Pterodactyl, admins, bans.
PartagerWorkshopPublier, mettre à jour, téléchargement automatique par les serveurs.
En bref
- Un addon est un simple dossier. Il peut contenir des scripts Lua, des props, des maps et des dupes, en même temps.
- Les scripts Lua tournent sur le serveur (règles) et chez chaque joueur (affichage) ; le serveur envoie les scripts client aux joueurs.
- Chaque partie a un gamemode (Sandbox par défaut) et charge tous les addons activés.
- Le Lua est isolé : pas d'accès aux fichiers ni au système. Un addon du Workshop ne peut pas toucher au PC des joueurs.
- Les unités sont les mètres (1 unité GMod = 0,0254 m) et les angles de lacet (yaw) sont en degrés.
- Quand tu rejoins un serveur, les addons Workshop qu'il utilise sont téléchargés automatiquement.
Nouveautés
| Date | Changement |
|---|---|
| 17/10/2026 | Correctif proximité réseau : les entités Lua de la map s'endorment bien loin des joueurs. Une classe sans ENT.AlwaysActive était prise pour « toujours active » : sur une map pleine de portes et de portails, toutes restaient éveillées (RP Dense City : de 41–59 à 109–145 fps). Seul ENT.AlwaysActive = true garde une entité éveillée, comme décrit dans la doc. |
| 16/10/2026 | Proximité réseau : les props et entités figés de la map s'endorment loin des joueurs (plus de physique, de zone de contact ni de Think au-delà de 60 m) et sont cachés à plus de 150 m de la caméra ; une map peut ainsi contenir des milliers de portes. ENT.AlwaysActive = true pour qu'une entité de map reste active. Les zones de contact ne sont plus créées que pour les classes qui utilisent StartTouch / Touch / EndTouch (ou les déclencheurs), et ents.FindByClass est indexé par classe. |
| 16/10/2026 | Éditeur d'arme : éditeur d'animation 1re personne avec les bras du jeu. Nouveau mode « Arme + bras du jeu animables » : on anime l'arme, les mains, les coudes, les doigts (poses toutes prêtes et réglage fin) et les pièces du modèle (un chargeur peut passer dans la main), et les bras suivent par IK. Timeline avec clés et transitions, points à glisser directement dans la vue (plusieurs à la fois avec Maj / Ctrl + clic), manipulateur, caméra libre, et événements : son, munitions rechargées (à l'instant choisi), douille, flash, fumée, hook Lua WeaponAnimEvent. Le rangement se joue avant de changer d'arme. |
| 16/10/2026 | Grosse mise à jour pour les moddeurs. Outils : autorefresh comme GMod (un fichier enregistré est ré-exécuté seul, la partie continue, hook OnReloaded), débogueur (points d'arrêt dans la marge, pause sur erreur, pas à pas, pile d'appels, variables, évaluation) et profileur dans l'éditeur de code ; les erreurs Lua montrent leur pile d'appels. Lua : bibliothèques GMod (is*, AccessorFunc, table / math / string / bit, timer.Pause…, concommand façon GMod), net complet (tous les types, WriteData, SendPVS…), NW2 et SetNWVarProxy, file.Open (binaire) et file.AsyncRead, file.Find renvoie fichiers et dossiers, DeriveGamemode. Entités : Think / NextThink des deux côtés, Touch, déclencheurs, PhysicsInit*, ShouldCollide, matériaux physiques, ragdolls, nouvelles contraintes (treuil, vérin, muscle, moteur, poulie). NextBot complet (comportement en coroutine, loco, Path, navmesh). Rendu : dessin 3D immédiat, stencils, particules, effets EFFECT, lumières dynamiques, textures projetées, effets d'écran. SWEP : modèle de vue d'addon et hooks de vue. Nouveaux panneaux Derma (DTree, DHTML, catégories, diviseurs, DNumberWang…) et peaux. Ciel panoramique d'addon (éditeur de map et env.SetSkyTexture), fil des éliminations et killicon, steamworks, tags Workshop Arme / Véhicule / Outil / Entité. |
| 16/10/2026 | Réalité virtuelle (OpenXR, option de lancement --vr) : corps entier sur le playermodel (tête, torse, bras et doigts suivent le casque et les manettes, vus par tous les joueurs), déplacement au joystick et dans la pièce, accroupi réel, rotation par crans, armes et outils tenus et visés à la main, mains physiques qui poussent, attrapent et lancent les props (force limitée : les objets lourds pèsent), menus sur un panneau 3D visé au laser, HUD au poignet. Joueurs VR et écran ensemble. Lua : ply:IsVR(), GetVRHeadPos, GetVRHandPos…, hooks PlayerVRGrab / PlayerVRDrop. Voir Réalité virtuelle. |
| 16/10/2026 | Nouvelle page Os, animations et effets : os des props, joueurs et PNJ (noms ValveBiped, ManipulateBone*), points d'attache, animations des props (SetSequence, SetCycle), SetSubMaterial, SetRenderMode, Ignite, Dissolve, util.ScreenShake. Entités : NetworkVar, ENT:Draw, TRANSMIT_NEVER, ents.CreateClientProp. Lua : include / AddCSLuaFile, coroutine et utf8, fonctions string.*, net.WriteTable, util.Compress, empreintes, FrameTime, engine.*. Nouveau : base SQLite (sql.*, PData), requêtes web et sound.PlayURL (désactivées par défaut, sv_allow_http), language, player_manager, drive, CreateMaterial et render targets, util.Decal façon GMod, /lua_run, /lua_openscript, /lua_run_cl et game.ConsoleCommand. duplicator.Paste marche maintenant n'importe où sur la map. |
| 15/10/2026 | Nouvelle page Intégration au bac à sable : bibliothèques undo (touche Annuler, hook CanUndo), cleanup (onglet Nettoyage du menu de spawn, hook CanCleanup), duplicator (entités scriptées et modificateurs dans les dupes, Copy / Paste, hooks CanDuplicate, PreDuplicate, PostDuplicate), list, table.Copy, onglet Entités (ENT.Spawnable, ENT:SpawnFunction, hooks PlayerSpawnSENT / PlayerSpawnedSENT), spawnmenu (onglets et options d'outils en Lua, panneau DForm), menu contextuel (touche N, properties.Add, hook CanProperty), et hooks de déplacement StartCommand, CreateMove, SetupMove, Move, FinishMove avec CMoveData / CUserCmd et ply:SetMoveType. |
| 15/10/2026 | Éditeur de modèles : Compresser les textures d'un modèle ou de tout le pack (taille maximale, JPEG avec qualité ou PNG, normal maps gardées en PNG), avec le gain prévu affiché avant de valider et les originaux restaurables. |
| 15/10/2026 | Éditeur de map : Fusionner en un modèle (comme le Merge Actors d'Unreal). Plusieurs décors et blocs deviennent un vrai modèle 3D rangé dans un pack de modèles, au choix avec leurs matériaux d'origine ou tout précalculé dans une nouvelle texture (taille 256 à 4096, normal map, rugosité/métal, émission, marge, PNG/JPEG), avec point d'origine, collision, retrait des faces cachées, et remplacement dans la map annulable. Calcul en arrière-plan sans figer l'éditeur. |
| 15/10/2026 | Nouveaux sons du jeu, tous libres de droits (CC0) : armes, klaxon, sirène, alarme, explosion, vitre. Nouveaux sons : pas selon la surface, saut, atterrissage, eau, dégâts et mort du joueur, physgun (attraper, lâcher, figer, bourdonnement), toolgun, chocs des props selon leur matière, interface (boutons, menu de spawn, notifications, chat, apparition, annulation). Tous utilisables en Lua (physicore/player/…, physicore/props/……). Voir Sons et lumières. |
| 16/10/2026 | Escaliers : le joueur monte les marches d'une traite, sans s'arrêter ni décoller à chaque marche (le haut arrondi du corps restait accroché au bord des marches hautes ; escaliers du saloon et de l'hôtel 2,5 fois plus vite à gravir). builtin:sb_desert : on passe entre le comptoir de la banque et les murs, et entre les cloisons à l'étage de l'hôtel ; la cellule du shérif n'a plus de porte ouverte vers l'extérieur ; les falaises, cheminées de fée et l'arche ont une vraie roche photographiée (grès « Cliff Side » de Poly Haven, CC0) teintée par les strates, sans les fines rayures qui scintillaient. |
| 16/10/2026 | Menu de spawn gardé d'une ouverture à l'autre et onglets Lua : il se refait aussi quand un addon ajoute une entité Spawnable, un onglet spawnmenu.AddCreationTab ou une catégorie cleanup.Register, ou quand on devient admin ; les panneaux des onglets Lua restent gardés avec leur état. |
| 16/10/2026 | Menu de spawn plus fluide : il est gardé d'une ouverture à l'autre (≈ 9 ms au lieu de 100 à 250 ms), chaque onglet se remplit quand on l'affiche, et les icônes arrivent peu à peu sans figer le jeu (modèles et cache lus en arrière-plan ; icônes des véhicules et des armes d'addons aussi gardées sur le disque). util.PrecacheModel fonctionne aussi pour les props intégrés addon:base/models/… (pack Construction), qui échouaient. |
| 16/10/2026 | Graphismes : régler la netteté, la vignette, les volumes, la VSync ou la limite de FPS ne fige plus le jeu à chaque cran (plus de 50 ms auparavant). La passe « Rendu cinématique » coûte moins cher, et la VSync devient adaptative : elle ne fait plus chuter les FPS quand une image est en retard. |
| 16/10/2026 | Nouvelle carte officielle sb_create (builtin:sb_create) : une immense étendue plate de terre sous un ciel bleu nuageux, sans aucun décor, pour construire. Voir Cartes intégrées. |
| 16/10/2026 | Ragdolls : un joueur ou un PNJ portant un playermodel ne flotte plus au-dessus du sol en mourant (ses hanches restaient à hauteur debout). Corps plus réalistes (poids d'un adulte, coudes et genoux en charnière, moins de tremblements), caméra de mort qui suit le corps, et pas de physique de ragdoll sur un serveur dédié. |
| 16/10/2026 | Véhicules : on monte et on descend les mains vides (l'arme revient en main une fois debout), et le corps ne saute plus hors de la voiture au début ou à la fin de l'animation d'entrée et de sortie. |
| 16/10/2026 | Protection des props : le propriétaire de ce qu'on vise (« À toi », « Propriétaire : … ») n'est plus affiché à côté du viseur ; seuls les refus y apparaissent. Le réglage show_owner est retiré de protection. |
| 15/10/2026 | Saut accroupi : Espace + Ctrl fait sauter environ 1,55 fois plus haut (pas avec sv_rp_movement). Voir ply:SetJumpPower. Animation du saut plus naturelle en vue à la 3e personne. |
| 15/10/2026 | Nouveau HUD : santé et armure sur une plaque de verre avec jauges segmentées (la part perdue reste visible un instant, couleur selon la santé), arme et munitions en bas à droite avec une barre par balle, « R : recharger » et rechargement, notifications en pastilles, bords rouges et arc vers le tireur quand on est touché. Élément "Damage" pour HUDShouldDraw. |
| 15/10/2026 | Protection des props en multijoueur (façon FPP) : l'hôte règle dans le menu de spawn (onglet Protection, permission protection) qui peut attraper, toolgun, utiliser, endommager les props, véhicules et PNJ des joueurs, et ceux de la carte ; chaque joueur choisit ses amis action par action ; propriétaire affiché à droite du viseur ; props d'un joueur parti supprimés après un délai. Côté Lua : bibliothèque protection, fonctions CPPI, hook ProtectionCanTouch, GM.PropProtection. Sandbox laisse aussi attraper les PNJ en multijoueur (selon la protection). |
| 15/10/2026 | Sandbox : en partie solo, le physgun attrape aussi les PNJ (le hook PhysgunPickup reçoit les PNJ ; Base les refuse). Nouvelles fonctions game.SinglePlayer() et game.MaxPlayers(). |
| 15/10/2026 | Les PNJ n'affichent plus leur nom au-dessus de la tête. Le pseudo des joueurs ne se voit que de près et plus à travers les murs ni les props : 10 m par défaut, réglage serveur name_tag_distance / ConVar sv_nametag_distance (0 = jamais). Voir Serveurs. |
| 15/10/2026 | PNJ : tous les joueurs voient la même apparence, y compris ceux qui arrivent après l'apparition du PNJ ; skin et tenue (bodygroups) pour les PNJ (skin et bodygroups de npc.Register, pnj:SetPlayerModel, pnj:SetBodygroup, GetPlayerModel, GetPlayerSkin, GetBodygroup) ; un playermodel manquant se télécharge depuis le Workshop ; une classe déclarée seulement côté serveur ne fait plus d'erreur chez les joueurs. |
| 15/10/2026 | Correctifs véhicules : sortir d'un véhicule ne le projette plus (le joueur, téléporté du siège à la portière, le traversait à grande vitesse) ; en vue 3e personne (C) on se voit assis même en étant monté en 1re personne. |
| 15/10/2026 | Véhicules : les cinq véhicules du jeu sont refaits dans Blender (berline et pick-up au capot fermé avec habitacle complet, avion, hélicoptère et bateau modélisés et texturés, peintures vernies, feux séparés par fonction). Assis, le mannequin prend une pose de siège auto (jambes vers les pédales, dos incliné, tête sous le toit) et la vue à la 1re personne est à hauteur des yeux. Volant animé : nouvelle clé "steering_wheel" (une pièce du modèle tournée par la direction : volant, manche d'avion ou cyclique d'hélicoptère), les mains du conducteur suivent sa jante. Voir Placer les sièges et le volant. |
| 15/10/2026 | Correctif véhicules : un véhicule apparu ou conduit ne saute plus sur place et avance normalement (la remise à la surface des props passés sous la map le prenait à tort pour tombé sous le terrain, son origine étant au sol). |
| 15/10/2026 | Armes : nouvelle arme « Mains » (id "hands", touche 1) : rien en main, les bras le long du corps ; Sandbox la donne à l'apparition, ply:Give("hands") pour les autres modes de jeu. À la troisième personne, le fusil à pompe et le fusil d'assaut sont épaulés (crosse dans le creux de l'épaule, main gauche refermée sous le garde-main) et le pied-de-biche est porté le long de la jambe. Recul visible à la première personne, finition mate des armes (plus d'acier miroir) et peau des mains plus naturelle. Correctif : flash de tir retrouvé sur le fusil à pompe et le fusil d'assaut. Voir Objets. |
| 15/10/2026 | Correctif props : ils ne passent plus sous la map. Au spawn, un modèle d'addon est sorti du sol de toute sa hauteur (les grands props, murs ou poteaux, apparaissaient à moitié enfoncés). Les collisions sont continues (un prop fin lancé vite ne traverse plus le sol), le physgun ne pousse plus un prop dans le sol ou un mur, et un prop passé sous le terrain malgré tout est remis à la surface. |
| 15/10/2026 | Props : pack Construction de 31 props texturés (métal, bois, béton, verre : tôles, poutres, tubes, buse, escaliers, garde-corps, murs, dalles, fenêtre…) dans un onglet du menu de spawn. Les impacts de balles d'un modèle d'addon suivent son matériau physique ("physics" de props.json : métal, bois). Voir Props, maps et dupes. |
| 15/10/2026 | Playermodels : les armes (du jeu, Lua et des PNJ) sont tenues dans la main du playermodel et non plus dans celle du mannequin caché (l'arme flottait à côté de la main), la main gauche du playermodel se pose sur les armes à deux mains, et l'arme pointe vers le viseur (les clavicules suivent de nouveau celles du mannequin : l'arme partait sur la droite). Voir Playermodels. |
| 15/10/2026 | Éditeur de map : l'onglet Props est rangé en dossiers : PhysiCore, Véhicules, puis un dossier par pack de modèles avec ses catégories de props.json en sous-dossiers et ses modèles cachés à part (Cachés (décor)). La recherche cherche dans tous les dossiers. Voir Dossiers. |
| 15/10/2026 | Éditeur de map : l'ouverture d'une map construit la vue un peu à chaque image derrière l'écran de chargement (plus de jeu figé sur les grandes villes), avec une nouvelle étape Miniatures des props qui prépare toutes les images de l'onglet Props (il s'ouvre sans lag). Même chose pour un co-éditeur qui rejoint, au début d'un Tester et au retour dans l'éditeur. Les matériaux réglés dans props.json sont partagés entre les copies d'un modèle (une ville de 15 000 décors saturait la carte graphique sous D3D12) et l'éditeur accepte jusqu'à 65 536 objets cliquables. Voir Ouverture dans l'éditeur. |
| 15/10/2026 | Import Unreal : tools/unreal/export_buildings.py fusionne les immeubles assemblés dans les niveaux d'un pack (un modèle par immeuble), lecture des matériaux d'après les noms de paramètres (PC_PARAM_MATERIALS), filtre des dossiers (PC_INCLUDE) et textures plafonnées (max_texture). Voir Exporter tout un dossier de contenu. |
| 15/10/2026 | Éditeur de map : réglage Collision des objets Décor (Exacte, Celle du modèle (légère), Aucune ; clé collision du .pcmap) pour les grandes maps faites de milliers de petites pièces. Végétation des terrains : distance d'affichage par modèle (clé range des plantes d'addon). Voir Éditeur de map. |
| 15/10/2026 | Maps : les cellules très denses en décor (villes importées) gardent leurs collisions (le moteur physique refusait un corps avec des milliers de formes détaillées, on passait à travers le sol). L'éclairage précalculé accepte les maps sans blocs : leurs lumières statiques passent au système économique. |
| 15/10/2026 | Import Unreal : tools/unreal/export_level_to_pack.py refait un niveau Unreal en .pcmap avec les modèles d'un pack déjà exporté (variantes cachées pour les objets mis à l'échelle, lumières statiques, Skeletal Meshes figés). Voir Exporter tout un dossier de contenu. |
| 15/10/2026 | Modèles : une texture d'émission n'éclaire plus tout le modèle en blanc (la couleur d'émission la teinte au lieu de s'y ajouter). Export d'un pack Unreal entier sans niveau (tools/unreal/export_asset_pack.py + finish_asset_pack.py), Skeletal Meshes compris. Voir Exporter tout un dossier de contenu. |
| 15/10/2026 | Import de scènes Unity 6 : package PhysiCore Exporter (tools/unity/PhysiCoreExporter, menu Tools → PhysiCore). Il convertit la scène ouverte en addon : un modèle .glb par maillage avec ses matériaux précalculés (rendus avec leur propre shader, feuillage découpé détecté), une map .pcmap qui les place en Décor, le soleil, les lumières et les points d'apparition. Voir Importer une scène Unity. |
| 15/10/2026 | Rendu : nouvelle option graphique Rendu cinématique (activée par défaut) : ombres de contact serrées, brume lumineuse légère dans les maps sans brouillard, étalonnage un peu froid et contrasté, plus des réglages Netteté et Vignette (Configuration → Graphismes). L'étalonnage, la netteté et la vignette s'appliquent sous l'interface, qui n'est pas modifiée. |
| 15/10/2026 | Véhicules : plus de lags réguliers en avion et en hélicoptère (le clignotement des feux de navigation reconstruisait tout l'aspect du véhicule plusieurs fois par seconde). En ligne, les véhicules conduits par un autre joueur avancent sans à-coups chez l'hôte, et les props et véhicules suivis par les clients sont interpolés (affichés 0,1 s en arrière) au lieu de sauter quand un paquet arrive en retard. Voir Véhicules. |
| 14/10/2026 | Playermodels : 20 playermodels de base inclus dans le jeu (Configuration ou Pause → Apparence), ids addon:base/playermodels/…. Squelettes Mixamo numérotés (mixamorig12_Hips…) reconnus. Animation des playermodels refaite : chaque membre garde sa propre longueur (les bras ne sont plus étirés, longs et fins), les personnages en T-pose ont les bras recalés sur la pose du mannequin (plus d'écart sous les bras), et le sens est détecté automatiquement (un personnage ne sort plus dos à la visée ; la rotation de 180° que certains playermodels utilisaient pour compenser ce défaut est neutralisée). Voir Playermodels. |
| 14/10/2026 | Correctif serveur dédié : avec --config server.cfg (chemin relatif, comme dans l'egg Pterodactyl), le contenu Workshop ne se téléchargeait pas (« Install library folder not found ») : les chemins sont maintenant résolus depuis le dossier du serveur. Voir Serveurs et administration. |
| 14/10/2026 | Playermodels : jusqu'à 32 bodygroups de 128 options (512 images par option ou skin), et nouvelle clé "hide" d'une option, qui cache d'autres pièces du modèle tant qu'elle est choisie (le corps sous un vêtement). Le menu Apparence fait défiler les listes de bodygroups. Voir Bodygroups. |
| 14/10/2026 | Serveur : l'egg Pterodactyl installe et met à jour le serveur dédié depuis Steam (SteamCMD, App 5448960, connexion anonyme), avec mise à jour automatique au démarrage, choix d'une branche bêta et steamclient.so mis en place pour la liste des serveurs Steam. Plus besoin d'URL d'archive. Voir Serveurs et administration. |
| 14/10/2026 | Sécurité : anti-triche des déplacements côté serveur (vitesse, vol, noclip interdit, murs traversés ; réglages anticheat / anticheat_kick, ConVar sv_anticheat) ; joueurs admis seulement après la confirmation de Steam, SteamID non vérifiables ignorés ; réglages du toolgun bornés par le serveur, toolgun et physgun requis ; dupes filtrées (plus d'armes ni d'entités glissées dedans) ; scripts Lua arrêtés au bout de 5 s de boucle ; mods FastDL limités aux fichiers de données (rejoindre un serveur ou ouvrir une dupe ne peut plus exécuter de code). Voir Sécurité et anti-triche. Correction : un server.cfg enregistré avec un BOM (certains éditeurs Windows) était entièrement ignoré, mot de passe compris ; il est maintenant lu, et un fichier illisible est signalé dans la console. |
| 14/10/2026 | Brouillard : les joueurs peuvent le réduire ou le couper (Configuration → Graphismes), et un serveur peut l'imposer à tous avec le réglage force_fog / ConVar sv_force_fog. Voir Serveurs et Données. |
| 14/10/2026 | Correctif playermodels : après un changement de playermodel, de skin ou de bodygroup, le mannequin ne réapparaît plus par-dessus le nouveau modèle. Voir Playermodels. |
| 14/10/2026 | Lua : bibliothèque env pour changer l'ambiance de la map : env.SetSunAngle, SetSunColor, SetSunBrightness, SetSkyColor, SetSkyTime (heure de la journée) et SetTimeScale (cycle jour / nuit), SetAmbient, SetFog, avec leurs Get…. Côté serveur, tous les joueurs voient le changement (y compris ceux qui arrivent après) ; côté client, l'effet est local. Nouveau hook EnvChanged. Voir Soleil, ciel et brouillard. |
| 14/10/2026 | Éditeur de map : plusieurs terrains (8 au maximum), chacun avec son nom, ses textures, sa végétation et ses zones. Ils peuvent être côte à côte ou superposés (îles flottantes). On choisit dans la liste de l'onglet Terrain celui sur lequel on travaille, et Déplacer décale un terrain entier. Corrections : la végétation n'apparaissait pas comme modèle (cubes blancs) ; un terrain loin du joueur n'avait pas de collision en jeu. Voir Terrain. |
| 14/10/2026 | Correctif Lua : un hook ou une fonction qui reçoit du texte là où le jeu attend true / false ne fait plus planter le jeu ; la valeur est ignorée. Voir Hooks. |
| 14/10/2026 | Éditeur de modèles : case Caché du menu de spawn (onglet Infos, clé "hidden" de props.json). Le modèle disparaît du menu de spawn et de sa recherche, mais reste utilisable par son identifiant : maps, dupes, Lua, végétation du terrain. Voir Modèles. |
| 14/10/2026 | Éditeur de map : routes (plugin Road Generator) dans le nouvel onglet Routes. On les trace point par point ; un clic sur une route la prolonge ou crée un carrefour. Réglages : voies dans chaque sens, largeur, bas-côtés, revêtement (asphalte avec marquages, béton, pavés, gravier, terre), courbure. Le terrain est aplani dessous. Routes en direct à plusieurs, annulables, avec collisions et navmesh. Objets road_point / road_intersection du .pcmap. Voir Routes. |
| 13/10/2026 | Éditeur de map : terrain (plugin Terrain3D) dans le nouvel onglet Terrain : sculpter (monter, creuser, aplatir, lisser), peindre 8 textures Poly Haven ou les siennes, percer des trous, planter arbres, buissons, fougères et rochers (ou des modèles d'addons, avec collisions), agrandir par zones de 256 m jusqu'à 4 × 4 km ; en direct à plusieurs, annulable, collisions et navmesh. Enregistré dans maps/<map>.terrain. Nouveau bouton Calculer le navmesh (onglet Monde) : navmesh enregistré avec la map (<map>.navmesh) et chargé instantanément en jeu. Les miniatures des props sont gardées sur le disque : plus de saccades à l'ouverture de l'éditeur. Voir Terrain et Navmesh des PNJ. |
| 13/10/2026 | Import de maps Unreal Engine 5 : plugin Python PhysiCore Exporter (tools/unreal/PhysiCoreExporter, menu Outils → PhysiCore). Il convertit le niveau ouvert en addon : un modèle .glb par Static Mesh avec ses textures (couleur, normal map, rugosité, métal, émission, transparence) dans props.json, et une map .pcmap qui les place en Décor, avec les PlayerStart, les lumières et le soleil. Nanite et meshes lourds : LOD sous une limite de triangles. Voir Importer une map Unreal Engine. |
| 13/10/2026 | Éditeur de map : éclairage précalculé. Les lumières cochées Statique (et, au choix, le soleil et le ciel) sont calculées une fois sur les blocs, avec ombres douces et rebond de lumière, en arrière-plan pendant qu'on édite (qualité Brouillon / Normale / Haute). En jeu, elles ne coûtent plus rien ; le décor et ce qui bouge sont éclairés par les lumières statiques les plus proches. Calcul enregistré dans maps/<map>_lighting/. Voir Éclairage précalculé. |
| 13/10/2026 | Import des modèles (modèles, véhicules, armes, playermodels) : les textures manquantes d'un FBX / glTF sont cherchées à côté du fichier d'après leur nom et celui du matériau (couleur, normal, rugosité, métal, émission, opacité, AO), et la transparence est réglée toute seule (découpe sur les deux faces pour le feuillage : plus de feuilles noires). Éditeur de modèles : transparence par matériau Auto / Opaque / Découpe / Transparent ("transparency" dans props.json). Éditeur de map : option Navmesh des PNJ par map. Voir Textures automatiques et Le navmesh. |
| 13/10/2026 | Packs de véhicules, d'armes et de playermodels : un mod peut en contenir plusieurs, comme les packs de modèles. Les éditeurs ont une liste à gauche (Nouveau, Dupliquer, Supprimer), un fichier .json par élément (vehicles/taxi.json, weapons/fusil_2.json, playermodels/soldat.json) ; les playermodels acceptent maintenant tout fichier de playermodels/ (addon:<clé>/playermodels/<fichier>.json). Les anciens mods à un seul élément marchent tels quels. Tous les éditeurs ont maintenant le grand écran de chargement, avec des astuces sur l'éditeur ouvert. Voir Véhicules, Armes personnalisées et Playermodels. |
| 13/10/2026 | Nouveau : le FastDL des serveurs dédiés. Les mods du dossier fastdl/ (addons et gamemodes, tout type de contenu) sont envoyés aux joueurs sans le Workshop : HTTP sur le port du jeu en TCP avec reprise, ou par la connexion du jeu en secours ; débit et téléchargements simultanés réglables (section [fastdl] de server.cfg). Protection : jeton réservé aux joueurs admis, code Lua jamais dans les fichiers, cache chiffré chez le joueur et mods lus sans être décompressés. Voir FastDL. |
| 13/10/2026 | Armes et dégâts en Lua : SWEP.ModelColor = Color(…) teinte le modèle de l'arme (en main, vue 1re personne d'un prop, arme au sol) et wep:SetModelColor(couleur) / GetModelColor() la change en jeu (voir Armes et outils en Lua) ; ply:RemoveAllAmmo() / ply:StripAmmo() vident toutes les réserves de munitions ; ent:TakeDamage(montant, attaquant, inflicteur) sur les props et entités scriptées (hook EntityTakeDamage, sans poussée) et nouvelle fonction ENT:OnTakeDamage(dmginfo), appelée aussi quand une arme ou une explosion touche l'entité (voir Objets et Entités scriptées). |
| 13/10/2026 | Taille et gestes des joueurs en Lua : ply:SetModelScale(échelle) (0,25 à 3 : mannequin ou playermodel, collision, yeux, caméra, portée de E) et ply:GetModelScale() ; ply:PlayGesture(nom), ply:StopGesture(), ply:GetGesture(), ply:GetGestures() / player.GetGestureList() (14 gestes : "dance", "sit", "punch"…), hook PlayerStartGesture (aussi appelé par la roue d'emotes G). Voir Taille et gestes du joueur. |
| 13/10/2026 | Fenêtre de publication : nouveau tag Workshop Playermodel, coché automatiquement pour un addon qui contient un playermodel. Le bouton Publier… des éditeurs (map, modèles, véhicules, armes, playermodels, code) ouvre la fenêtre directement sur le mod en cours. Voir Tags. |
| 13/10/2026 | Nouveau : les playermodels. Éditeur dans Créer → Playermodels : import d'un personnage (glTF, GLB, FBX) qui suit les animations du jeu, correspondance des os corrigeable avec aperçu animé, taille, décalage, rotation, matériaux à la couleur du joueur, skins, couleurs des bras à la première personne, échelle de la hitbox, test en jeu et publication. Configuration → Apparence (et Échap → Apparence) pour choisir le sien, vu de tous et téléchargé depuis le Workshop par ceux qui ne l'ont pas. PNJ : liste Apparence dans l'onglet PNJ et clé model de npc.Register. Lua : hook PlayerSetModel, ply:SetPlayerModel(id, skin), ply:GetPlayerSkin(). Voir Playermodels. |
| 13/10/2026 | Import de maps Source : tools/bsp_to_physicore.py convertit un .bsp (Garry's Mod, CS:S, HL2) en addon .pcmap : monde découpé en morceaux avec textures, normal maps et lightmaps, props MDL, lumières, eau, points d'apparition, portes et boutons en entités Lua. Nouveau champ de matériau lightmap (éclairage précalculé sur l'UV2) dans props.json et l'éditeur de modèles. Voir Importer une map Source. |
| 13/10/2026 | Nouveau : les PNJ. Onglet PNJ du menu de spawn (citoyen, ennemis au pied-de-biche, au pistolet et au fusil d'assaut, gardes), navmesh calculé automatiquement sur toutes les cartes, IA avec vue, ouïe, combat, couverture et fuite. Lua : bibliothèque npc (npc.Register, npc.Create…), méthodes des PNJ et hooks PlayerSpawnNPC, OnNPCKilled, NPCTakeDamage… Éditeur de map : zone interdite aux PNJ et aperçu du navmesh. Serveur : npc_limit (sbox_maxnpcs). Voir PNJ. |
| 13/10/2026 | Grandes maps : regroupement par zones, distance d'affichage par objet et par map, occultation, niveaux de détail des modèles importés, chargement par zones côté joueurs, indicateur de poids dans l'éditeur, option graphique « Distance d'affichage », limite portée à 20 000 objets. Voir Grandes maps. |
| 13/10/2026 | Physique pour le roleplay : réglage serveur rp_movement / ConVar sv_rp_movement (déplacements réalistes : inertie, pas de bunny hop, atterrissages, pentes), player_push / sv_player_push (pousser les props et bousculer les joueurs en marchant). Les joueurs suivent désormais le prop ou le véhicule sur lequel ils se tiennent. Voir Serveurs et Données. |
| 13/10/2026 | Corrigé : 8 erreurs SteamProjectSettings à chaque lancement (GodotSteam Server chargé en plus de GodotSteam sur Windows). GodotSteam Server n'est plus chargé que pour l'export du serveur dédié Linux. Voir Serveurs. |
| 13/10/2026 | Animations des joueurs plus réalistes, vues des autres et en 3e personne : marche lente avec Alt (vrai pas de marche, pour le roleplay ; ply:SetSlowWalkSpeed, IN_WALK), pieds posés sur le sol (pentes, marches, trottoirs), petits pas en tournant sur place, et démarche des autres joueurs stable (plus de clignotement entre marche et course). Voir Objets. |
| 13/10/2026 | Grosse extension de l'API Lua, façon Garry's Mod. Monde et physique : Angle et noms GMod des vecteurs, util.TraceLine / TraceHull avec filtres et masques, repères et physique des entités (GetForward, LocalToWorld, GetPhysicsObject, SetVelocity, SetCollisionGroup, SetMaterial, SetModelScale, SetParent…), ENT:PhysicsCollide, ents.FindInBox / FindInCone, bibliothèque constraint, util.BlastDamage, game.ChangeMap, os.time / os.date (voir Monde et physique). Joueurs : EyeAngles, KeyDown(IN_…), SetVelocity, SetPlayerColor, SetNick, SetPlayerModel (expérimental), Freeze, SetMaxHealth, GetInfo (ConVars client « userinfo »), lampe torche intégrée (touche F) (voir Objets). Hooks : ShutDown, ScalePlayerDamage, PlayerHurt, PlayerDeathNotice, PlayerChangedTeam, EntityRemoved, PlayerCanSeePlayersChat, CheckPassword, CanPlayerSuicide, CanExitVehicle, KeyPress / KeyRelease, PlayerSwitchFlashlight, CalcView, PlayerBindPress (voir Hooks). Rendu client : vec:ToScreen(), cam.Start3D2D, Material et images, surface.CreateFont, halo.Add, render.Draw*, particules, décalcomanies, effets d'écran, ClientsideModel (voir Rendu 3D et effets). Fenêtres : DImage, DImageButton, DModelPanel, DMenu / DermaMenu, DColorMixer, RichText, DBinder (voir Menus). Éditeur de map : points nommés, zones déclencheurs et entités scriptées placées avec leurs propriétés, API map.*, ents.FindByName, hooks TriggerStartTouch / TriggerEndTouch, InitPostEntity, PostCleanupMap (voir Points, zones et entités de map). Armes et outils en Lua : armes SWEP (dossiers weapons/ et lua/weapons/, héritage d'une arme du jeu, de l'éditeur ou d'un prop, tir prédit et validé par le serveur), outils de toolgun TOOL avec panneau de réglages (stools/, lua/weapons/gmod_tool/stools/), armes au sol (ply:DropWeapon, ramassage en marchant ou avec E), ply:SelectWeapon, ply:GetWeapon, hooks CanTool, PlayerUse (E marche sur tous les props), PlayerSwitchWeapon, PlayerCanPickupWeapon, PhysgunDrop, OnPhysgunFreeze, CanPlayerUnfreeze (voir Armes et outils en Lua). HUD : tableau des scores remplaçable (ScoreboardShow / ScoreboardHide, élément "Scoreboard"), chat.AddText en couleurs et hook OnPlayerChat (voir Lua client). |
| 13/10/2026 | Fenêtre Publier : la miniature de l'addon est affichée et se change en un clic (image du PC recadrée en 512 × 512, miniature générée avec le logo, un texte et une couleur, ou retirer). Voir Workshop. |
| 13/10/2026 | Corrigé : avec l'éclairage global (SDFGI) activé, les éditeurs de modèles, de véhicules et d'armes étaient blancs et surexposés. Leur vue garde maintenant une exposition fixe. |
| 13/10/2026 | De quoi faire un mode Prop Hunt en Lua : ply:SetModel(id ou ent) (déguisement en prop, collision à sa taille, sans bonus à la tête), ply:GetModel(), ply:SetNameTagVisible, ply:SetThirdPerson, ply:SetViewOffset, ply:SetModelAngleLocked, ply:Spectate / UnSpectate, ply:TakeDamage(montant, attaquant, cause), ent:GetModelBounds(), hooks EntityTakeDamage et PlayerCanRespawn. Voir Objets. |
| 13/10/2026 | Armes personnalisées sans viewmodel : les animations d'un modèle prévu pour des bras (rechargement…) ne déplacent plus toute l'arme, seulement ses pièces (chargeur, culasse…). Voir Armes. |
| 13/10/2026 | Éditeur d'armes (Créer → Armes) : armes à balles, corps à corps, lance-projectiles et grenades (explosive, fumigène, flash). Import du modèle ou d'un viewmodel complet, animations 1re personne importées (un emplacement par action, avec des remplacements si une animation manque) et animations 3e personne humanoïdes (Mixamo, Unreal…) adaptées au personnage. Réglages : modes de tir, rafale, recul et motif de recul, dispersion, pénétration, zones de dégâts, types de munitions partagés, rechargement balle par balle, visée et lunette, flash, douilles, traceurs, sons. Bouton Tester avec des cibles, photo Workshop. Nouvelle touche B (mode de tir). Lua : weapons.GetList, weapons.Get, weapons.Override, ply:GetAmmo / SetAmmo / GiveAmmo / GetClip, hooks PlayerFireWeapon, PlayerReload, WeaponExplosion. Voir Armes personnalisées. |
| 13/10/2026 | Armes refaites : pied-de-biche, pistolet, fusil à pompe et fusil d'assaut modélisés en détail et texturés, avec de vrais bras en première personne (mains articulées, sweat) et des animations de sortie, repos, tir, rechargement et inspection (T). Le fusil à pompe se recharge cartouche par cartouche. En troisième personne, le personnage vise, tire, recharge et dégaine selon l'arme. Voir Armes. |
| 13/10/2026 | Préchargement des modèles en Lua (client) : util.GetModelList(), util.PrecacheModel(id, fonction) (fichier lu en arrière-plan + icône du menu de spawn), util.IsModelPrecached(id), et le hook ClientReady quand le joueur entre dans la partie. De quoi faire un addon d'écran de préchargement comme dans GMod. Voir Précharger les modèles. |
| 13/10/2026 | Armes : impossible de tirer ou de recharger depuis un véhicule (le serveur refuse ces tirs). Dans le menu de spawn, l'onglet Armes est placé entre Props et Véhicules. Voir Armes. |
| 13/10/2026 | Nouvelle carte sb_desert (builtin:sb_desert) : canyon western avec la ville de Red Rock (bâtiments visitables), gare et train, mine abandonnée, rivière, pont et gué, piste et tremplin pour les véhicules, arche naturelle, cheminées de fée, cactus. Nouveau prop builtin:tumbleweed (virevoltant) ; sur sb_desert, le serveur en fait rouler avec le vent. Corrigé : un joueur pouvait apparaître aux points d'apparition du fond du menu au lieu de ceux de la carte. Voir Cartes intégrées. |
| 13/10/2026 | Corrigé : des carrés apparaissaient dans les nuages du ciel (sb_naturebox, fond du menu et cartes .pcmap) et pouvaient marquer les textures procédurales loin du centre de la map. Le bruit des shaders utilise maintenant un hachage entier exact. |
| 13/10/2026 | Workshop : s'abonner télécharge le mod immédiatement, avec la progression sur le bouton (Steam suspendait le téléchargement jusqu'au prochain lancement) ; au lancement, les abonnements manquants ou pas à jour sont téléchargés. Voir S'abonner depuis le jeu. |
| 13/10/2026 | Publication Workshop : bouton Republier comme nouvel objet pour un addon déjà publié (nouvel identifiant, avec confirmation). Voir Mettre à jour. |
| 13/10/2026 | Lua : ents.CreateClientLight accepte offset et direction (lumières placées n'importe où sur un véhicule, spots orientés) et les lumières ont :SetOffset / :SetDirection ; les sons CreateSound en boucle se répètent sans coupure ; les effets locaux sur les pièces (SetNodeEmission côté client) sont regroupés une fois par image (gyrophares rapides sans ralentissement). Corrigé : IsValid(ent) renvoyait toujours false pour les entités, joueurs, sons et lumières ; supprimer une lumière client puis en créer une autre mettait le jeu en erreur. Nouvel addon d'exemple ELS (gyrophares et sirènes façon GTA V / FiveM). Voir Sons et lumières. |
| 13/10/2026 | Miniatures du Workshop : « Photo Workshop » dans les éditeurs de map, de modèles et de véhicules (vue actuelle, cadrage automatique ou image du PC, aperçu Garder / Reprendre) ; une photo automatique est prise si tu publies sans miniature. Voir Miniature. |
| 13/10/2026 | Pack d'armes de base : pied-de-biche, pistolet, fusil à pompe et fusil d'assaut (touches 3 à 6, munitions, rechargement R, sons, impacts), donnés par Sandbox et disponibles dans l'onglet Armes du menu de spawn. Identifiants pour ply:Give dans Armes, nouveau ply:GetActiveWeapon(), nouveau hook PlayerGiveWeapon, argument attaquant pour PlayerShouldTakeDamage et PlayerDeath. Sons réutilisables : physicore/weapons/*.wav. |
| 13/10/2026 | Le jeu est traduit en 23 langues (anglais et langues européennes). La langue est demandée au premier lancement et se change dans Paramètres → Langue. Les traductions sont dans locale/<code>.json (texte français → traduction). |
| 13/10/2026 | La map gm_construct s'appelle maintenant sb_naturebox (builtin:sb_naturebox). L'ancien identifiant builtin:gm_construct reste accepté (server.cfg, /map, rotation) et charge sb_naturebox. |
| 13/10/2026 | HUD : l'aide des outils en bas à droite est retirée ; l'élément "Hints" de HUDShouldDraw n'existe plus. |
| 13/10/2026 | gm_construct : collines praticables autour de la map avec arbres et rochers, herbe plus dense et plus variée (fleurs, zones sèches, vent en rafales), piscine carrelée avec reflets de lumière au fond. L'eau (aussi celle des cartes .pcmap) réfracte le fond, se teinte avec la profondeur et ondule. |
| 12/10/2026 | Éditeurs de modèles et de véhicules : import et ouverture des gros modèles en arrière-plan avec un écran de chargement (plus de freeze) ; collisions convexes automatiques calculées bien plus vite et gardées en cache (96 points max par forme). Voir Importer des modèles. |
| 14/10/2026 | Bouton Tester des éditeurs d'armes, de véhicules et de playermodels : le pack testé est activé pendant le test même s'il est désactivé dans la liste des Mods (l'arme n'était pas donnée). La liste des Mods n'est pas modifiée. |
| 14/10/2026 | Nouvelle IK des personnages (joueurs et PNJ) avec les modificateurs de squelette de Godot : pieds sur le sol (TwoBoneIK3D), colonne qui vise (CCDIK3D, torsion répartie), arme pointée sur la visée (haut / bas), main gauche sur les armes à deux mains et les pistolets. Avec une arme à deux mains : marche en strafe 8 directions et demi-tours sur place (animations de fusil). Éditeur de playermodels : arme dans l'aperçu, onglet Visée & IK, animations « Fusil ». Voir Playermodels → IK. |
| 14/10/2026 | Bodygroups des playermodels, comme dans Garry's Mod : groupes de tenues dont chaque option montre des pièces du modèle (et cache celles des autres) et peut changer des textures. Onglet Bodygroups de l'éditeur de playermodels, choix libre dans Apparence. Lua : ply:SetBodygroup, ply:GetBodygroup, ply:SetBodyGroups, ply:GetBodyGroups, ply:GetNumBodyGroups, ply:GetBodygroupCount, ply:GetBodygroupName, ply:FindBodygroupByName, hook PlayerSetBodygroup (false refuse). Voir Playermodels. |
| 14/10/2026 | Menu principal → Configuration → Cache : taille de chaque cache du jeu (textures compressées, icônes, plantes des terrains, mods FastDL, shaders) et un bouton pour tout vider (tout se recrée tout seul). |
| 14/10/2026 | Chargement des maps .pcmap : les modèles et leurs textures sont lus en arrière-plan, en parallèle, avant la construction de la map. L'écran de chargement ne se fige plus (compteur de modèles) et les grandes maps chargent bien plus vite (une ville de 15 000 objets : 20 s figées → 7 s, dont 1 s de construction). Les textures communes à plusieurs modèles .gltf ne sont chargées qu'une fois et toutes sont compressées pour la carte graphique (gardées en cache sur le disque) : les maps chargées de grandes textures ne saturent plus la mémoire vidéo (plantage « l'instruction emploie l'adresse mémoire 0x0 »). Voir Éditeur de map → Grandes maps. |
| 14/10/2026 | Véhicules : nouveaux types avion, hélicoptère et bateau (pilotage arcade stabilisé, flottaison sur les volumes d'eau, train rentrant G, patins, hélices et rotors qui tournent, gouvernes, feux de navigation, sons d'hélice et de rotor, jauge du pilote) avec un exemple de chaque dans le menu de spawn. L'éditeur de véhicules a un choix de type et des onglets Train / Vol / Navigation. Lua : veh:GetVehicleType, veh:GetPower, veh:SetLift, veh:SetLandingGear, veh:IsLandingGearDown. Voir Véhicules. |
| 12/10/2026 | Véhicules : berline et pick-up (onglet Véhicules du menu de spawn), conduite à plusieurs (E pour monter, places passagers, caméra 3e personne, phares, klaxon, clignotants), et éditeur de véhicules (Créer → Véhicules : carrosserie importée, roues, moteur et courbe de couple, boîte auto ou manuelle, suspension, places, sons, feux, bouton Tester). Lua : ents.CreateVehicle, veh:GetDriver, veh:GetSpeed, veh:SetThrottle, ply:EnterVehicle, hooks CanPlayerEnterVehicle, PlayerEnteredVehicle, PlayerLeaveVehicle. Voir Véhicules. |
| 12/10/2026 | Multijoueur : les addons locaux publiés de l'hôte sont téléchargés depuis le Workshop par les joueurs qui rejoignent (ids addon:local_… ↔ addon:ws_… traduits automatiquement), avec un écran de chargement. Voir Téléchargement automatique. |
| 12/10/2026 | Mes addons : bouton Supprimer (avec confirmation, vers la corbeille) pour les addons, les maps et les gamemodes ; pour le Workshop, désabonnement et effacement. Voir Supprimer. |
| 12/10/2026 | HUD : la barre en haut à droite (statut en ligne, nombre de joueurs, nom) est retirée ; l'élément "Status" de HUDShouldDraw n'existe plus (le tableau des scores, Tab, donne ces informations). |
| 12/10/2026 | Chat vocal : voix en 3D (plus fortes de près, option dans Options → Audio) et bouton pour couper la voix d'un joueur dans le tableau des scores (maintenir Tab : la souris est libre pour cliquer). Voir PlayerCanHearPlayersVoice. |
| 12/10/2026 | Chat vocal en partie : maintenir X (modifiable dans Options → Touches) pour parler ; volume et micro dans Options → Audio. Nouveau hook serveur PlayerCanHearPlayersVoice pour choisir qui entend qui, et élément "Voice" pour HUDShouldDraw. |
| 12/10/2026 | Sélecteur d'armes : la molette l'ouvre (clic gauche pour prendre, clic droit pour annuler), les touches d'arme (1, 2…) prennent l'arme directement. Il n'apparaît que pour les armes données par le gamemode (ply:Give) ; GM:HUDShouldDraw("WeaponSelection") le cache. Voir Lua client et réseau. |
| 12/10/2026 | Nuages animés dans le ciel de gm_construct et des cartes .pcmap (nouveau réglage clouds, onglet Monde de l'éditeur de map). Préréglages graphiques Bas / Moyen / Élevé / Ultra, choisis automatiquement au premier lancement selon la carte graphique. |
| 12/10/2026 | Graphismes : les maps (gm_construct et cartes .pcmap) passent au tonemapper AgX avec éclairage indirect SSIL et ombres adoucies ; les surfaces de l'éditeur de map et les textures dev ont un léger relief, l'eau devient transparente selon sa profondeur. Nouvelles options Graphismes : SSIL et SDFGI. |
| 12/10/2026 | Lua : sons (dossier sound/ des addons et gamemodes, .ogg / .wav / .mp3, sons intégrés physicore/…, ent:EmitSound, sound.Play, CreateSound avec Play, Stop, SetLooping, ChangePitch, ChangeVolume) ; lumières client attachées à une pièce (ents.CreateClientLight) ; ent:SetNodeVisible / SetNodeEmission aussi côté client (effet local, ent:ClearNodeOverrides) ; ply:GetEyeTrace(), ply:EyePos(), ply:GetAimVector(), ents.FindInSphere(). Voir Sons et lumières. |
| 12/10/2026 | Lua : pièces des modèles — ent:GetNodeNames(), ent:LookupNode(), ent:GetNodePos(), ent:GetNodeAngles(), ent:IsNodeVisible(), et côté serveur ent:SetNodeVisible() et ent:SetNodeEmission(), synchronisés chez tous les joueurs (gyrophares, extras). Voir Pièces du modèle en Lua. |
| 12/10/2026 | Lua : fenêtres et widgets côté client (vgui.Create : DFrame, DButton, DListView, DTextEntry, DComboBox, onglets…, vgui.Register, Derma_Query), clavier et souris (input.IsKeyDown, hooks PlayerButtonDown / PlayerButtonUp des deux côtés, ply:IsKeyDown), sauvegarde de données (file.Write / file.Read dans un dossier propre à chaque addon, util.TableToJSON) et ConVars (CreateConVar, CreateClientConVar, cvars.AddChangeCallback) réglables avec /cvar ou Pause → Réglages du serveur (permission convars). Voir Menus, clavier et souris et Données et réglages. |
| 12/10/2026 | Serveurs : serveur dédié Linux (export « Linux Server », egg Pterodactyl, console), liste des serveurs Steam et favoris, mot de passe, réglages du serveur (server.cfg), groupes et permissions, kick / ban / mute et commandes admin. Workshop : dépendances entre objets et collections. Lua : ply:IsAdmin(), ply:GetUserGroup(), ply:HasPermission(), ply:Kick(), ply:Ban(), game.GetServerSetting(). Voir Serveurs et administration. |
| 12/10/2026 | Gamemodes en Lua (dossier gamemodes/, héritage, Sandbox devient un gamemode) choisis à la création de la partie ; Lua côté client (HUD : draw, surface), bibliothèque net, variables réseau, équipes et points, entités scriptées (ents.Create), nouveaux hooks (PlayerLoadout, PlayerNoClip, PlayerShouldTakeDamage, HUDPaint…) et éditeur de code intégré. Addons : lua/autorun/server|client et lua/entities. Sécurité : string.dump et le code binaire sont bloqués. Voir Gamemodes. |
| 12/10/2026 | Éditeur de modèles (Créer → Modèles) : packs de modèles glTF/GLB/FBX avec textures, animations, collisions, physique et matériaux, publiables sur le Workshop. props.json accepte beaucoup plus de réglages. Voir Éditeur de modèles. |
| 12/10/2026 | Lua : prop:GetAnimations(), prop:PlayAnimation(nom, boucle) et prop:StopAnimation(). Les props flottent ou coulent dans l'eau selon leur densité. |
| 12/10/2026 | Éditeur de map : les modèles peuvent être posés comme décor fixe (collision exacte), et un bouton Workshop permet de trouver des packs depuis l'onglet Props. |
| 12/10/2026 | Éditeur de map intégré (Créer → Nouvelle map) : blocs, props, lumières, eau, ciel, édition à plusieurs et test en un clic. Les maps d'addons sont désormais des fichiers .pcmap (les maps .glb ne sont plus chargées) et le serveur les envoie aux joueurs. Voir Éditeur de map. |
| 12/10/2026 | Le hook PropSpawned reçoit aussi nil comme joueur pour les props posés dans une map. |
| 12/10/2026 | Sécurité : dofile et loadfile sont retirés du Lua (ils pouvaient lire des fichiers du disque). Voir Bac à sable et sécurité. |
| 12/10/2026 | Dupes version 2 : elles sauvegardent aussi les contraintes (soudures, axes, cordes…) et les gadgets (propulseurs, roues…). Voir Format d'une dupe. |
| 12/10/2026 | Première version de la documentation. |