Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
blog:installer_un_serveur_daoc_sous_linux [2021/09/20 19:18] – [Installer un serveur DAoC sous Linux] ben | blog:installer_un_serveur_daoc_sous_linux [2024/08/13 13:31] (Version actuelle) – ben |
---|
| <note warning>Doc plus à jour</note> |
| |
====== Installer un serveur DAoC sous Linux ====== | ====== Installer un serveur DAoC sous Linux ====== |
| |
| |
* base de données : MariaDB | * base de données : MariaDB |
* framework .NET/C# : [[https://www.mono-project.com/download/stable/#download-lin|mono]] | * framework .NET/C# : [[https://www.mono-project.com/download/stable/#download-lin|mono]] |
* dotnet pour linux : https://dotnet.microsoft.com/download/dotnet/5.0 | * dotnet pour linux : [[https://dotnet.microsoft.com/download/dotnet/5.0|https://dotnet.microsoft.com/download/dotnet/5.0]] |
* moteur de jeu : fork de Dawn of Light : [[https://github.com/Los-Ojos/DOLSharp-1127|DOLSharp-1127]] | * moteur de jeu : Dawn of Light : [[https://github.com/Dawn-of-Light/DOLSharp|DOLSharp]] |
* base de données du jeu (mobs, sorts, etc) : Eve Of Darkness | * base de données du jeu (mobs, sorts, etc) : [[https://github.com/Eve-of-Darkness/db-public|Eve Of Darkness]] |
| |
=== Packages à installer === | === Packages à installer === |
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb | <code> |
dpkg -i packages-microsoft-prod.deb | |
apt-get update | wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb |
apt-get install mono-complete mono-devel git unzip mariadb-server nuget dotnet-sdk-5.0 | dpkg -i packages-microsoft-prod.deb |
| apt-get update |
| apt-get install mono-complete mono-devel git unzip mariadb-server nuget dotnet-sdk-5.0 |
| |
| </code> |
=== Création d'un utilisateur dol dédié : === | === Création d'un utilisateur dol dédié : === |
| |
GRANT SELECT , INSERT , UPDATE , CREATE , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE, DROP, DELETE \ | GRANT SELECT , INSERT , UPDATE , CREATE , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE, DROP, DELETE \ |
ON `dol` . * TO 'dol'@'%' IDENTIFIED BY 'YourPassword'; | ON `dol` . * TO 'dol'@'%' IDENTIFIED BY 'YourPassword'; |
| |
</code> | </code> |
| |
=== Import des données : === | === Import des données : === |
| |
Plusieurs bases de données sont disponibles, certaines plus ou moins à jour ou fidèles par rapport aux serveurs officiels. Ici on part sur la base Eve of Darkness qui est un énième fork mais qui est plutôt fidèle à ce qu'on trouve sur https://camelot.allakhazam.com/. Je détaille comment récupérer et importer les données, c'est pas forcément très intuitif : | Plusieurs bases de données sont disponibles, certaines plus ou moins à jour ou fidèles par rapport aux serveurs officiels. Ici on part sur la base Eve of Darkness qui est un énième fork mais qui est plutôt fidèle à ce qu'on trouve sur [[https://camelot.allakhazam.com/|https://camelot.allakhazam.com/]]. Je détaille comment récupérer et importer les données, c'est pas forcément très intuitif : |
<code> | <code> |
| |
git clone https://github.com/Eve-of-Darkness/db-public.git | git clone https://github.com/Eve-of-Darkness/db-public.git |
cd db-public | cd db-public |
cd src/scripts/bin/linux/ | cd src/scripts/bin/linux/ |
./concat # ou ./concat --update-only en cas de mise à jour | ./concat # ou ./concat --update-only en cas de mise à jour |
mysql -u dol -p dol < ./public-db.sql | mysql -u dol -p dol <./public-db.sql |
</code> | </code> |
| |
| |
# Compilation | # Compilation |
| |
<code> | <code> |
| |
| mkdir /home/dol/work |
| cd /home/dol/work |
git clone https://github.com/Dawn-of-Light/DOLSharp.git | git clone https://github.com/Dawn-of-Light/DOLSharp.git |
cd DOLSharp | cd DOLSharp |
| |
MONO_IOMAP=case msbuild /p:Configuration=Release "Dawn of Light.sln" | MONO_IOMAP=case msbuild /p:Configuration=Release "Dawn of Light.sln" |
| ln -sf /home/dol/work/DOLSharp/Release /home/dol/live |
| |
</code> | </code> |
On créé un lien symbolique vers le moteur compilé, c'est plus simple. Lors de la première compilation il est normal d'avoir des erreurs. Avant la première exécution du moteur il faut créer un répertoire config avec le fichier serverconfig.xml dont voici le contenu ci-dessous. Les paramètres importants sont : | On créé un lien symbolique vers le moteur compilé, c'est plus simple. Lors de la première compilation il est normal d'avoir des erreurs. Avant la première exécution du moteur il faut créer un répertoire config avec le fichier serverconfig.xml dont voici le contenu ci-dessous. Les paramètres importants sont : |
| |
* //EnableUPNP// qui doit être à False ; | * //EnableUPNP// qui doit être à False ; |
* la chaîne //DBConnectionString// qui doit contenir les infos de connexion à la base de données. Le DBType est quant à lui positionné à MySQL. | * la chaîne //DBConnectionString// qui doit contenir les infos de connexion à la base de données. Le DBType est quant à lui positionné à MySQL. |
| |
<code> | <code> |
</Server> | </Server> |
</root> | </root> |
| |
</code> | </code> |
| |
UPDATE `dol`.`ServerProperty` SET `Value`='0.75' WHERE `Key`='mana_regen_rate'; | UPDATE `dol`.`ServerProperty` SET `Value`='0.75' WHERE `Key`='mana_regen_rate'; |
UPDATE `dol`.`ServerProperty` SET `Value`='True' WHERE `Key`='allow_train_everywhere'; | UPDATE `dol`.`ServerProperty` SET `Value`='True' WHERE `Key`='allow_train_everywhere'; |
| |
</code> | </code> |
| |
| |
<code> | <code> |
cd /home/dol | cd /home/dol/live |
mono --debug --gc=sgen --server ./DOLServer.exe | mono --debug --gc=sgen --server ./DOLServer.exe |
| |
</code> | </code> |
| |
[11:04:11,906] base.Start(): True | [11:04:11,906] base.Start(): True |
[11:04:11,909] Finish Memory base.Start(): 1537MB | [11:04:11,909] Finish Memory base.Start(): 1537MB |
[11:04:12,670] GameServer is now open for connections! | [11:04:12,670] GameServer is now open for connections!> [11:04:21,765] -stats- Mem=1140MB Clients=0 Down=0kb/s (0MB) Up=0kb/s (0MB) In=0pck/s (0K) Out=0pck/s (0K) Pool=199/200(2) IOCP=200/200(2) GH/OH=39/1078 RegionTime1=14775t/s (1133) CPU=0.0% |
> [11:04:21,765] -stats- Mem=1140MB Clients=0 Down=0kb/s (0MB) Up=0kb/s (0MB) In=0pck/s (0K) Out=0pck/s (0K) Pool=199/200(2) IOCP=200/200(2) GH/OH=39/1078 RegionTime1=14775t/s (1133) CPU=0.0% | |
</code> | </code> |
| |
=== Connexion au serveur === | === Connexion au serveur === |
| |
Pour se connecter au serveur créé, il est nécessaire de lancer le jeu via [[https://files.ndlp.info/DAoC/DAoC%20Portal_May2021.7z|Daoc Portal]] après avoir récupéré le client DAoC officiel : [[https://darkageofcamelot.com/sites/daoc/files/downloads/DAoCSetup.exe]] | Pour se connecter au serveur créé, il est nécessaire de lancer le jeu via [[https://files.ndlp.info/DAoC/DAoC%20Portal_May2021.7z|Daoc Portal]] après avoir récupéré le client DAoC officiel : [[https://files.ndlp.info/DAoC/DAoC_full.client_1.127c.zip|https://files.ndlp.info/DAoC/DAoC_full.client_1.127c.zip]] |
| |
=> La version de la dll game.dll requise est : 1.127 | ⇒ La version de la dll game.dll requise est : 1.127 |
| |
=== Ressources utilisées dans cet article === | === Ressources utilisées dans cet article === |
| |
http://www.dolserver.net/\\ | [[http://www.dolserver.net/|http://www.dolserver.net/]] \\ |
https://github.com/Dawn-of-Light/DOLSharp\\ | [[https://github.com/Dawn-of-Light/DOLSharp|https://github.com/Dawn-of-Light/DOLSharp]] \\ |
https://github.com/Los-Ojos/DOLSharp-1127\\ | [[http://losojos-001-site1.btempurl.com/Index.html|http://losojos-001-site1.btempurl.com/Index.html]] : site down , mirror dispo ici : [[https://daoc.ndlp.info/losojos-001-site1.btempurl.com/Index.html|https://daoc.ndlp.info/losojos-001-site1.btempurl.com/Index.html]] \\ |
http://losojos-001-site1.btempurl.com/Index.html : site down , mirror dispo ici : https://daoc.ndlp.info/losojos-001-site1.btempurl.com/Index.html\\ | [[https://files.ndlp.info/DAoC/|https://files.ndlp.info/DAoC/]] |
https://files.ndlp.info/DAoC/\\ | |
| |
Un serveur DAoC est disponible à cette adresse : daoc-gs.ndlp.info:10300 | Un serveur DAoC est disponible à cette adresse : daoc-gs.ndlp.info:10300 |
| |
| |