Les DM crashent encore le serveur
Closed this issue · 4 comments
Il y a ça dans les logs depuis la mise à jour de mobs_monster. Il y en a plusieurs:
2017-07-12 20:08:48: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'mobs_monster' in callback luaentity_Step(): .../minetest/.minetest/mods/mobs_monster/dungeon_master.lua:109: attempt to call method 'explosion' (a nil value)
2017-07-12 20:08:48: ERROR[Main]: stack traceback:
2017-07-12 20:08:48: ERROR[Main]: .../minetest/.minetest/mods/mobs_monster/dungeon_master.lua:109: in function 'hit_node'
2017-07-12 20:08:48: ERROR[Main]: /home/minetest/.minetest/mods/mobs/api.lua:2923: in function </home/minetest/.minetest/mods/mobs/api.lua:2885>
Je m'absente une semaine, je ne pourrai pas travailler sur ce problème avant mon retour
ha çà explique pourquoi je suis déconnecté automatiquement par le serveur.
Faudrait les empêcher de spawner. Si on ne peut pas retirer leur fonction de spawn du serveur, il faut peut-etre essayer de créer une area qui occupe tout le serveur à leur profondeur: (-31000, -31000, -31000) à (31000, -500, 31000). Et la rendre "open". Aucun nouveau monstre ne spawnera plus.
Darcidride avait fait, par erreur, une area géante sur MFF2 à un moment. Et ça n'avait pas causé de problème. Mais elle n'était pas aussi géante que celle-là.
EDIT: Mettre une area_pos hors des limites de la map crashe le serveur. C'est le cas avec ces limites-là. D'après l'issue de 2015 que j'ai survolé là-dessus, l'auteur se contente de rapporter ça comme un bug de Minetest (unhandled exception). Les chatcommands d'areas sont un bon moyen de ragecrash un serveur.
Je ne suis pas sûr que les areas ouvertes empechent les monstres de spawner, on trouve souvent des tree monsters dans le champ public et des DMs continuent à crasher le serveur malgré l'area géante.
Les areas ouvertes n'empêchent pas le spawn des monstres. Le code fait un appel minetest.is_protected() pour décider de spawner ou pas. Une base souterraine a été grief à cause de l'area qui servait à rien :/
Le bug a été fixé upstream et le dépot mis à jour et testé.