1. Qu'est-ce que init.c et pourquoi cette application ?
Le fichier init.c est le cĆur de votre serveur DayZ. C'est lui qui contrĂŽle :
- L'initialisation de l'économie (systÚme de loot, persistence, etc.)
- La date et l'heure du monde (saison, météo)
- La création des personnages joueurs
- L'équipement de départ (loadout au spawn)
- Les modules custom : ATM Expansion, tĂ©lĂ©port quĂȘtes, bridge Discord, etc.
Sans cette application, il faut écrire ce fichier à la main en EnforceScript, le langage de DayZ. C'est complexe, source d'erreurs, et chaque petite modification peut casser le serveur.
Avec Init.c Builder, vous configurez tout via une interface graphique, le fichier est gĂ©nĂ©rĂ© automatiquement, propre, prĂȘt Ă dĂ©poser sur votre serveur.
2. Avant de commencer : sauvegardes obligatoires
RĂGLE D'OR : Ne remplacez JAMAIS votre init.c sans avoir fait une sauvegarde de l'original.
1Récupérez votre init.c actuel sur votre serveur, via FTP/SFTP. Il se trouve dans :
mpmissions/dayzOffline.chernarusplus/init.c
ou
mpmissions/dayzOffline.[nom_de_votre_map]/init.c
2Copiez-le dans un dossier de sauvegarde sur votre PC. Renommez par exemple en init_backup_20251121.c pour retrouver la date.
3Si possible, sauvegardez tout le dossier mission avant toute modification (gestion centralisée Expansion, fichiers types.xml liés, etc.).
3. Onglet đ DĂ©marrage : par oĂč commencer ?
3 options s'offrent Ă vous selon votre situation :
Option A : Templates prédéfinis (recommandé pour débuter)
5 modĂšles prĂȘts Ă l'emploi :
| Template | Pour qui ? |
| Vanilla+ | Serveur classique DayZ avec date fixe et santé aléatoire |
| RP Classes | Serveur RP : 9 classes aléatoires (flic, médic, biker, pompier, etc.) |
| Military | Serveur PvP militaire : 4 classes avec armes/attachements/chargeurs |
| Expansion Namalsk | Serveur Expansion avec tĂ©lĂ©port quĂȘtes + ATM automatique |
| Hardcore Prison | Tenue prisonnier + bridge Discord + log connexions |
Sélectionnez un template dans le menu, cliquez "Charger le template". Tous les onglets sont pré-remplis. Vous pouvez ensuite modifier ce qui ne vous convient pas.
Option B : Uploader votre init.c existant
Si vous avez déjà un init.c fonctionnel sur votre serveur et que vous voulez juste y apporter des modifications via une interface, c'est l'option idéale. L'application va analyser votre fichier et pré-remplir tous les onglets.
Voir section 4 pour le détail.
Option C : Partir de zéro
Construction manuelle complÚte. Réservé aux utilisateurs qui savent exactement ce qu'ils veulent et qui veulent un contrÎle total.
4. Importer votre init.c existant (analyse automatique)
C'est la fonctionnalité la plus puissante de l'application : elle vous permet de conserver votre travail existant tout en passant à une édition graphique.
1Dans l'onglet đ DĂ©marrage, dans la carte "Uploader mon init.c", cliquez sur "Choisir un fichier".
2Sélectionnez votre fichier init.c sur votre PC.
3Cliquez sur "Charger & Analyser".
L'application va alors détecter automatiquement :
- â
Le reset de date (mois et jour configurés)
- â
L'initialisation météo (overcast, rain, fog)
- â
Les cases d'équipement aléatoires (nombre + items par case)
- â
Les boosts de stats (water, energy, blood, health)
- â
Le module ATM Expansion (montant, intervalle)
- â
Les tĂ©lĂ©ports de quĂȘtes Expansion (IDs et coordonnĂ©es)
- â
Le bridge Discord (lecture bot_message.txt)
- â
Le log des connexions
Un message vous indiquera le nombre de sections détectées. Vous pouvez ensuite naviguer dans tous les onglets pour modifier ce qui existe ou ajouter du neuf.
Limitation : Si votre init.c contient du code custom trĂšs spĂ©cifique (fonctions perso, intĂ©grations exotiques), elles ne seront pas forcĂ©ment dĂ©tectĂ©es. Pensez Ă les recoller dans l'onglet âïž Code Custom manuellement.
5. Onglet đ
Date & Météo
Reset de date
Force la date du serveur à une valeur fixe au démarrage. Utile pour :
- Avoir toujours la mĂȘme saison (automne pour une ambiance sombre, Ă©tĂ© pour la chaleur)
- Ăviter les bugs de croissance des plantes liĂ©s Ă la date
- Maintenir la cohérence d'un lore (ex : un serveur figé au 20 septembre 2024)
Décochez la case "Activer le reset de date" pour utiliser la date réelle du systÚme.
Initialisation météo
Définit les conditions météo au démarrage du serveur. Les valeurs vont de 0 (rien) à 1 (au maximum).
- Overcast (couverture nuageuse) : 0 = ciel bleu, 1 = ciel totalement couvert
- Rain (pluie) : 0 = sec, 1 = orage
- Fog (brouillard) : 0 = clair, 1 = brouillard épais
Les valeurs min/max définissent une plage aléatoire à chaque démarrage. Si min=0.4 et max=0.6, le serveur choisira aléatoirement entre 0.4 et 0.6.
Si vous utilisez un mod météo (CF Weather, Expansion Weather), désactivez ce module pour éviter les conflits.
6. Onglet đ€ Ăquipement de spawn
Définit ce que les joueurs ont sur eux quand ils apparaissent sur le serveur (loadout de spawn).
Mode "Vanilla"
Reproduit le comportement par dĂ©faut de DayZ : bandage + chemlight alĂ©atoire + fruit alĂ©atoire (Apple/Pear/Plum), avec quickbar prĂ©-assignĂ©e et santĂ© randomisĂ©e sur les vĂȘtements.
Choisissez ce mode si vous voulez le spawn vanilla mais juste configurer la date ou des modules custom.
Mode "Ăquipement fixe"
Tous les joueurs spawnent avec exactement le mĂȘme Ă©quipement. IdĂ©al pour les serveurs hardcore ou les serveurs avec un thĂšme prĂ©cis (prison, militaire, mĂ©dical).
- Cliquez sur "Configurer les cases"
- Une seule case s'affiche
- Sélectionnez les items dans les listes déroulantes (maintenez Ctrl pour multi-sélection)
- Tous les items seront donnés à tous les joueurs au spawn
Mode "Multi-cases aléatoires"
Le serveur choisit une case au hasard parmi N possibilités. Chaque joueur peut spawner avec un équipement différent.
- Définissez le "Nombre de cases aléatoires" (entre 1 et 20)
- Cliquez sur "Configurer les cases"
- Pour chaque case, sélectionnez les items dans les catégories de la BDD
- Au spawn, le serveur tirera une case au hasard
Les items proposĂ©s viennent de votre base de donnĂ©es DayZ Aide (table par catĂ©gorie : vĂȘtements, armes, etc.). Les catĂ©gories non pertinentes (zombies, vĂ©hicules) sont filtrĂ©es automatiquement.
Options supplémentaires
- SantĂ© alĂ©atoire (45-65%) : applique une usure rĂ©aliste aux vĂȘtements (Body, Legs, Feet) au lieu du 100% par dĂ©faut
- Vider l'inventaire vanilla avant : appelle
RemoveAllItems() pour effacer ce que DayZ aurait donné par défaut. Activez cette option sauf si vous voulez ajouter votre équipement EN PLUS du vanilla
7. Onglet đ Classes RP / Militaires
SystÚme avancé de classes avec armes principales, secondaires, attachements et chargeurs. Différent du mode "Multi-cases aléatoires" car il gÚre intelligemment les armes en main, les magazines compatibles, et les kits médicaux.
1Activez "Activer le systĂšme de classes"
2Cliquez sur "Charger preset (4 classes militaires)" pour partir d'une base, ou "+ Ajouter une classe" pour commencer de zéro.
3Pour chaque classe, remplissez :
- Nom : juste un commentaire (ex: "Sniper", "Médic")
- VĂȘtements : liste sĂ©parĂ©e par virgules (ex:
TShirt_Black, Jeans_Blue, MilitaryBoots_Black)
- Arme principale : un seul classname (ex:
M4A1)
- Attachements arme principale : viseur, crosse, etc. en CSV
- Chargeurs arme principale : type de magasin (ex:
MAG_STANAG_30Rnd)
- Arme secondaire : pistolet (optionnel)
- Nombre de chargeurs : combien de chaque type donner
- Kit médical : format spécial
NomDuKit|item1, item2, item3
Configuration commune (en bas de l'onglet)
- Sac à dos commun : type de sac donné à toutes les classes (ex:
SmershBag)
- Items utilitaires : nourriture, soins de base (ex:
BandageDressing, Apple, Canteen)
- Armes de mĂȘlĂ©e alĂ©atoires : un couteau au hasard parmi cette liste
Important : Les classnames d'armes/attachements/chargeurs doivent exister dans les mods installés sur votre serveur. Sinon le joueur spawnera sans cet item. Vérifiez les classnames sur le Workshop Steam des mods.
8. Onglet đȘ Stats joueur
Donne un boost aux stats du joueur au spawn. Utile pour les serveurs PvP oĂč on ne veut pas que les joueurs commencent affamĂ©s/dĂ©shydratĂ©s.
| Stat | Valeur max | Effet |
| Water | 200000 | Hydratation (joueur jamais soif) |
| Energy | 200000 | Faim (joueur jamais affamé) |
| Blood | 5000 | Sang (régénération PV) |
| Health | 100 | Points de vie |
Mettre 0 partout = stats vanilla par défaut. Mettre 200000 sur Water et Energy = joueur full hydraté/nourri au spawn (Hardcore Prison fait ça).
9. Onglet đź Modules Expansion
Ces modules nécessitent les mods DayZ-Expansion installés sur le serveur. Sans eux, votre init.c provoquera des erreurs au démarrage.
TĂ©lĂ©port sur complĂ©tion de quĂȘte
Quand un joueur termine une quĂȘte Expansion (ID de quĂȘte dĂ©fini dans votre config Expansion-Quests), il est tĂ©lĂ©portĂ© automatiquement Ă des coordonnĂ©es que vous dĂ©finissez.
Pour chaque téléport :
- Nom : commentaire (ex: "Trader Klen")
- ID de la quĂȘte : doit correspondre Ă un fichier de quĂȘte Expansion (ex: 1001)
- Positions : une par ligne, format
X Y Z (ex: 7403.7 15.2188 2268.64). Si plusieurs positions, le joueur sera téléporté à une au hasard
Paiement automatique ATM
Verse automatiquement de l'argent sur le compte bancaire ATM des joueurs connectés, à intervalle régulier.
- Montant : nombre d'unités à ajouter (ex: 500)
- Intervalle : en minutes (ex: 30 = toutes les 30 min)
- Message : notification affichée au joueur.
%1 sera remplacé par le montant
Si le compte du joueur est plein (au max défini dans les settings Expansion-Market), le systÚme calcule automatiquement le montant restant déposable.
10. Onglet đŹ Bridge Discord
Bridge Discord (messages bot â serveur)
Permet Ă un bot Discord externe d'envoyer des messages dans le jeu sans utiliser de mod RCON.
Comment ça marche :
- Votre bot Discord écrit un message dans le fichier
bot_message.txt dans le dossier profil du serveur
- Le serveur lit ce fichier toutes les X millisecondes (par défaut 2000ms = 2s)
- Si du contenu est trouvé, il est diffusé à tous les joueurs avec le préfixe défini (ex:
[SERVEUR] Message...)
- Le fichier est supprimé aprÚs diffusion
Configuration :
- Préfixe des messages : ce qui apparaßt devant chaque message (ex:
[SERVEUR], [ADMIN], đą)
- Intervalle de check : fréquence de lecture du fichier en millisecondes (2000 = équilibre performance/réactivité)
Log des connexions
Ăcrit dans un fichier toutes les connexions/dĂ©connexions des joueurs. Format de chaque ligne :
CONNECT|2025-11-20 14:35|NomJoueur
DISCONNECT|2025-11-20 14:42|NomJoueur
Ce log peut ensuite ĂȘtre lu par votre bot Discord pour annoncer les connexions dans un salon dĂ©diĂ©.
Le fichier de log s'accumule indéfiniment. Pensez à le nettoyer réguliÚrement via votre bot ou un script externe pour éviter qu'il grossisse trop.
11. Onglet âïž Code Custom (avancĂ©)
Cet onglet est rĂ©servĂ© aux utilisateurs qui connaissent EnforceScript. Une erreur ici peut empĂȘcher le serveur de dĂ©marrer.
3 zones d'injection de code personnalisé :
Code Ă injecter dans main()
Ce code est exécuté une fois au démarrage du serveur, aprÚs l'init économie et le reset de date. Exemples d'usage :
// Afficher un message dans les logs serveur
Print("Serveur MYSTIC HARDCORE démarré");
// Forcer l'heure de démarrage
GetGame().GetWorld().SetDate(2024, 9, 20, 18, 0);
Code à injecter dans CustomMission (méthodes/variables)
Ce code ajoute des méthodes ou variables à la classe CustomMission. Exemples :
// Variable custom
int m_PlayerCount = 0;
// Méthode utilitaire
void MaFonction()
{
Print("Ma fonction custom");
}
Code Ă injecter dans StartingEquipSetup
Ce code est exécuté à chaque spawn d'un joueur, à la fin de la fonction d'équipement. Exemples :
// Donner un item spécial à tous les joueurs
player.GetInventory().CreateInInventory("MonItemCustom");
// Téléport au spawn
player.SetPosition("7500 250 7500");
Si vous avez fait un init.c avancé hors de cette appli et que l'analyse automatique n'a pas tout reconnu, recollez vos parties custom ici.
12. Onglet đ Aperçu & Export
Une fois votre configuration prĂȘte, allez dans cet onglet pour visualiser et tĂ©lĂ©charger votre fichier.
Boutons disponibles
- đ RĂ©gĂ©nĂ©rer l'aperçu : recalcule le fichier en fonction de votre config actuelle. Ă cliquer aprĂšs chaque modification dans les autres onglets.
- âŹïž TĂ©lĂ©charger init.c : tĂ©lĂ©charge le fichier brut, prĂȘt Ă dĂ©poser sur votre serveur
- đŠ TĂ©lĂ©charger ZIP : tĂ©lĂ©charge un ZIP contenant
init.c + un README.txt récapitulant les modules activés et les dépendances mods
- đ Copier dans le presse-papier : copie le contenu pour le coller ailleurs (ex: dans votre Ă©diteur de texte)
Que faire de l'aperçu ?
L'aperçu affiche le code EnforceScript généré. Lisez-le rapidement avant de télécharger pour vérifier que tout ce que vous attendez est là . Si vous voyez des trucs bizarres ou des sections manquantes, retournez modifier les onglets correspondants.
Bonnes pratiques : Cliquez sur "Sauvegarder projet" dans le header pour conserver votre config en localStorage. Vous pourrez la recharger plus tard sans tout refaire.
13. Installation du fichier sur votre serveur
RAPPEL : Vous avez bien sauvegardé votre init.c original ? Si non, retournez à la
section 2 avant d'aller plus loin.
Ătape 1 : Identifier le bon emplacement
Le fichier init.c se place dans le dossier de mission de votre serveur :
[racine_serveur]/mpmissions/dayzOffline.chernarusplus/init.c
ou
[racine_serveur]/mpmissions/dayzOffline.namalsk/init.c
ou pour Sakhal :
[racine_serveur]/mpmissions/dayzOffline.sakhal/init.c
Ătape 2 : Upload via FTP/SFTP
- Connectez-vous Ă votre serveur avec FileZilla, WinSCP ou autre client FTP
- Naviguez jusqu'au dossier de mission
- Renommez l'ancien
init.c en init_old.c (sécurité supplémentaire)
- Uploadez le nouveau
init.c téléchargé depuis l'application
Ătape 3 : VĂ©rifier les dĂ©pendances mods
Si vous avez activé des modules dans l'application, vérifiez que les mods correspondants sont installés et chargés :
| Module activé | Mod requis |
| TĂ©lĂ©port quĂȘtes | @DayZ-Expansion-Core, @DayZ-Expansion-Quests |
| ATM automatique | @DayZ-Expansion-Core, @DayZ-Expansion-Market |
| SystÚme de classes (armes moddées) | Selon les armes utilisées |
Ătape 4 : RedĂ©marrer le serveur
- ArrĂȘtez le serveur DayZ
- Démarrez-le
- Surveillez les logs (
server_console.log et script.log) pendant les 30 premiĂšres secondes
Ătape 5 : Tester en jeu
- Connectez-vous au serveur
- Vérifiez votre équipement de spawn
- Si vous avez configuré ATM Expansion, attendez l'intervalle pour vérifier le crédit
- Si vous avez le bridge Discord, faites un test depuis le bot
Astuce : Pour ne pas perdre du temps à se reconnecter, créez un compte test sur votre serveur et utilisez-le pour vérifier les spawns successifs (kill + respawn).
14. FAQ et résolution de problÚmes
â Mon serveur ne dĂ©marre plus aprĂšs avoir mis le nouveau init.c
Causes possibles :
- Mod manquant : vous avez activé un module Expansion mais le mod n'est pas chargé. Vérifiez votre startup.bat / launcher
- Classname inexistant : un item dans l'équipement n'existe pas dans les mods chargés. Regardez
script.log pour la ligne qui pose problĂšme
- Erreur de syntaxe : si vous avez utilisé l'onglet Code Custom, une virgule ou un point-virgule oublié peut tout casser
Solution rapide : restaurez votre init.c de sauvegarde, le serveur redémarrera. Puis revenez dans l'application pour corriger.
â Les joueurs spawnent nus / sans Ă©quipement
- Avez-vous bien activĂ© l'onglet đ€ Ăquipement ?
- Ătes-vous en mode "Multi-cases alĂ©atoires" mais vos cases sont vides ?
- Les classnames sont-ils corrects (case sensitive) ?
â Le bridge Discord ne fonctionne pas
- Le fichier
bot_message.txt est-il bien créé dans le dossier profil du serveur ? (pas dans le dossier de mission)
- Le bot a-t-il les permissions d'écriture sur ce dossier ?
- L'intervalle de check est-il raisonnable (entre 1000 et 5000 ms) ?
â J'ai perdu ma configuration en fermant le navigateur
Pensez Ă utiliser le bouton "đŸ Sauvegarder projet" en haut. Vous pouvez rappeler vos configs avec "đ Charger projet".
â Comment ajouter un mod custom Ă ma classe ?
Dans l'onglet đ Classes, tapez simplement le classname du mod dans les champs (ex: Mystic_CustomGun). L'application ne vĂ©rifie pas l'existence : c'est Ă vous de vous assurer que le mod est chargĂ©.
â Mon serveur est sur Nitrado / Gportal, comment je fais ?
Le principe est le mĂȘme : uploadez le init.c via l'interface du gestionnaire (Web FTP ou explorateur de fichiers du panel). Le chemin est identique : mpmissions/[votre_mission]/init.c.
â Besoin d'aide supplĂ©mentaire ?