Repository navigation
FR Configuration
La configuration tient en deux fichiers du dossier config/ :
| Fichier | Lu par | Contenu |
|---|---|---|
auth.conf |
archcore login |
Serveur de connexion, bases de données |
world.conf |
archcore world |
Serveur monde, bases de données, données du client, réglages du monde, taux, commandes MJ |
archcore all et les outils (db-init, import, sim…) lisent les deux ; les clés Database.*, présentes
dans les deux fichiers, sont alors prises dans world.conf (un avertissement signale une différence).
Ces fichiers ne sont pas versionnés. Leurs modèles, auth.conf.dist et world.conf.dist, le sont et
documentent chaque option ; au premier lancement, un .conf absent est créé en copiant son modèle.
[worldserver]
# commentaire
WorldServer.Port = 11008
WorldServer.Name = "ArchCore"Une ligne par réglage, Clé = valeur ; # commence un commentaire, les textes peuvent être entre
guillemets, l'en-tête [authserver] ou [worldserver] est ignoré. Une clé absente prend sa valeur par
défaut, avec un avertissement dans le journal ; une clé inconnue (faute de frappe) est signalée.
| Clé | Défaut | Rôle |
|---|---|---|
LoginServer.Port |
11002 |
Port du serveur de connexion, celui que le client contacte |
LoginServer.Bind |
0.0.0.0 |
Adresse d'écoute |
| Clé | Défaut | Rôle |
|---|---|---|
WorldServer.Port |
11008 |
Port du serveur monde |
WorldServer.Bind |
0.0.0.0 |
Adresse d'écoute |
WorldServer.Name / WorldServer.Group
|
ArchCore |
Nom du monde et de son groupe dans la liste des serveurs |
WorldServer.PublicAddress |
127.0.0.1 |
Adresse du monde envoyée au client. À changer pour un serveur accessible depuis Internet. Au démarrage, le monde inscrit PublicAddress:Port dans la table world, sous WorldServer.Name et WorldServer.Group (23 caractères au plus) |
Client.DataDir |
../client/ArchLord/Game |
Dossier Game du client, utilisé par les outils d'import et de traduction |
World.Language |
fr |
Langue des titres de PNJ (data/i18n/npc-titles-<langue>.json) ; en les laisse en anglais |
World.ViewRadius |
8000 |
Portée de la discussion normale et des messages d'AddOn SAY. PNJ, monstres, joueurs et objets au sol se voient par secteurs (voir [[Protocole réseau |
World.MonsterDensity |
1 |
Multiplie le nombre de monstres de chaque point d'apparition (arrondi, au moins 1). Les tables du serveur sont peu peuplées par endroits : 2 ou 3 rapprochent de la densité du jeu d'origine |
World.SlowPacketMs |
100 |
Un paquet traité plus longtemps (ms) sous le verrou du monde est noté « paquet lent », avec le temps d'attente du verrou ; 0 : jamais |
Guild.BattleReadySeconds |
180 |
Délai (s) entre l'acceptation d'un combat de guildes et son début ; le client l'annonce en minutes. Les données d'Archonia ne le donnent pas |
PvP.MurdererPointsPerKill |
20 |
Points de meurtrier pour le meurtre d'un innocent de plus de 4 niveaux en dessous, attaqué en premier (paliers 40, 60, 100). Valeur d'origine inconnue |
PvP.RemissionPoints |
2 |
Points de meurtrier retirés par une rémission de 10 lettres de pardon, comme le client l'annonce |
Item.WeaponWearChance |
10 |
Probabilité (%) qu'un coup qui blesse use d'un point l'arme qui le porte (choix d'ArchCore ; 0 : pas d'usure) |
Item.ArmorWearChance |
10 |
Probabilité (%) qu'un coup reçu qui blesse use d'un point une pièce d'armure portée tirée au hasard (choix d'ArchCore) |
World.TimeSpeed |
6 |
Vitesse du temps du jeu envoyée au client (AGPMTIMER champ 0) : 6 comme Archonia, une journée en 4 h réelles ; 1 = heure réelle |
World.TimeStart |
-1 |
Heure du jeu au démarrage du serveur (0 à 23), la même pour tous ; -1 = horloge de la machine × vitesse, identique d'un démarrage à l'autre. Voir [[Protocole réseau |
World.WeatherAuto |
0 |
1 = météo automatique (pluie, neige ou temps clair tirés pour tout le monde) ; 0 = seulement /weather (choix d'ArchCore) |
World.WeatherMinutes |
30 |
Minutes entre deux tirages de la météo automatique |
World.WeatherRainChance, World.WeatherSnowChance
|
20, 10
|
Probabilités (%) de la pluie et de la neige à chaque tirage ; le reste : temps clair |
Auction.MaxSales |
100 |
Ventes au plus par personnage dans la maison des ventes (1 à 100, la boîte du client) |
Auction.ExpireDays |
30 |
Durée d'une vente en jours ; échue, elle sort de la recherche mais reste annulable |
Summons.StatScale |
100 |
Caractéristiques des créatures invoquées, en pour cent de celles de leur modèle mises au niveau du maître (choix d'ArchCore) |
Chat.ShoutRange |
0 |
Portée du cri local « /s » ; 0 : deux fois World.ViewRadius (choix d'ArchCore) |
Wanted.ExpireDays |
7 |
Durée d'un avis de recherche, en jours depuis la dernière mise à prix (choix d'ArchCore) |
Wanted.ExpLossPercent |
5 |
Part de l'expérience du niveau perdue par un criminel recherché tué par un chasseur, sans perte de niveau (choix d'ArchCore) |
Shrine.Enabled |
1 |
Combats de Shrine selon l'horaire de la table shrine ; 0 : seulement par /shrine open
|
BattleSquare.SupervisorTeleport |
1 |
Parler à un superviseur de la Battle Square (PNJ 551 à 554) envoie à l'étage de son niveau (choix d'ArchCore) |
BattleSquare.SkullTids |
500,981,982 |
TID des crânes de niveau 1, 2 et 3 lâchés dans la Battle Square (choix d'ArchCore) |
Battleground.Schedule |
vide | Plages « HH:MM-HH:MM » (séparées par « ; ») dont début et fin sont annoncés à tous (paquet 0x58) ; vide : aucune annonce |
Siege.Enabled |
1 |
Calendrier automatique des guerres de siège (date d'office, clôture des candidatures, début, fin) ; 0 : seulement les commandes /siege
|
Siege.MinGuildMembers, Siege.MinGuildAgeDays
|
30, 14
|
Membres et âge (jours) d'une guilde candidate à un siège (valeurs du client ; à abaisser pour un jeu local) |
Siege.DurationMinutes |
0 |
Durée du combat de siège ; 0 : SWPlayingTime de SiegeWar.txt (60 min), à défaut 120 |
Siege.CarveSeconds |
0 |
Durée du carving du trône ; 0 : StampingTime de SiegeWar.txt
|
Siege.CatapultDamagePercent |
5 |
Dégâts d'un tir de catapulte, en pour cent des PV de la porte extérieure ou de la tour visée (choix d'ArchCore) |
Archlord.MaxGuards |
10 |
Gardes royaux que l'ArchLord peut appeler à la fois (/guardactivate, Call Royal Knight) |
Archlord.PortalMinutes |
10 |
Guerre de Rensphere : durée de l'étape « portail » avant l'étape « combat » |
Archlord.SkyMinutes |
5 |
Durée du décalage de 12 h de l'horloge par Day and Night |
Tax.PayoutDay, Tax.PayoutHour
|
1, 0
|
Versement hebdomadaire des taxes des régions : jour (1 lundi à 7 dimanche) et heure (fuseau World.TimeZone) |
World.TimeZone |
local |
Fuseau de l'horloge envoyée au client (paquet AGPMTIMER) : local = heure de la machine (jour/nuit, musique et ambiance suivent l'heure locale du serveur), utc = époque Unix brute. Voir [[Protocole réseau |
World.ExitOnRestart |
0 |
1 : arrête le serveur à la fin du compte à rebours de /announce_restart
|
StartPosition.<race>.Village / .X / .Y / .Z
|
voir le modèle | Position d'apparition par race : 1 Humain, 2 Orc, 3 Elfe de lune, 4 Scion |
Rate.Exp, Rate.Gold, Rate.Drop, Rate.UniqueDrop, Rate.Charisma, Rate.Prestige, Rate.ChatBuff
|
1 |
Taux au démarrage (voir [[Administration |
GM.CommandLevel.<commande> |
— | Niveau MJ requis pour une commande, par exemple GM.CommandLevel.kill = 3
|
Villages de départ actuels :
| Race | Village |
|---|---|
| 1 Humain | Anchorville |
| 2 Orc | Golundo |
| 3 Elfe de lune | Norine |
| 4 Scion | Cien, à confirmer |
| Clé | Défaut | Rôle |
|---|---|---|
Database.Host / Database.Port
|
127.0.0.1 / 3306
|
Serveur MariaDB |
Database.User / Database.Password
|
root / archcore
|
Accès. À changer hors d'un poste de développement |
Database.ConnectionLimit |
8 |
Taille du pool par base |
Database.Auth / Database.Characters / Database.World
|
archcore_* |
Noms des trois bases principales |
Database.Logs |
archcore_logs |
Base des journaux (échanges, boutiques, banque, commandes MJ), en écriture seule. Une instance de test prend la sienne |
Database.SlowQueryMs |
200 |
Une requête plus longue (ms) est notée « requête lente » dans le journal du serveur, une fois le serveur prêt (le chargement du monde n'est pas compté) ; 0 : jamais |
Toute clé peut être remplacée par une variable ARCHCORE_<CLÉ> : les points et les majuscules
intérieures deviennent des _, le tout en majuscules.
| Clé | Variable |
|---|---|
LoginServer.Port |
ARCHCORE_LOGIN_SERVER_PORT |
World.ViewRadius |
ARCHCORE_WORLD_VIEW_RADIUS |
World.MonsterDensity |
ARCHCORE_WORLD_MONSTER_DENSITY |
Database.Password |
ARCHCORE_DATABASE_PASSWORD |
Rate.Exp |
ARCHCORE_RATE_EXP |
Autres variables :
| Variable | Effet |
|---|---|
ARCHCORE_CONF_DIR=<dossier> |
Lit auth.conf et world.conf dans un autre dossier, par exemple pour un serveur de test sur d'autres ports et d'autres bases |
ARCHCORE_ROOT=<dossier> |
Racine du dépôt (dossier courant par défaut) |
ARCHCORE_TRACE=1 |
Journalise chaque paquet reçu et envoyé |
Jusqu'en octobre 2026, la configuration tenait dans config/archcore.json. Pour la convertir :
archcore config migrate config/archcore.json # écrit config/auth.conf et config/world.conf
archcore config migrate test.json /chemin/conf-test # vers un autre dossier (ARCHCORE_CONF_DIR)Les fichiers sont écrits à partir des modèles .dist, commentaires compris ; un fichier existant n'est
remplacé qu'avec --force.
ArchCore — github.com/BlaMacfly/ArchCore · Discord · Pages sources dans docs/wiki / Source pages in docs/wiki.