MT-Eurythmia / Eurythmia-server

Eurythmia server repository: mods, subgame, configuration, issues tracker, and a few other.
http://eurythmia.langg.net
7 stars 7 forks source link

Gold Digger #28

Closed mgl512 closed 8 years ago

mgl512 commented 8 years ago

MTZ m'a dit que jackspades est gold_digger, banni de @Test@. Il est aussi peapod ici, celui qui génère de la map entourée de vide. MTZ dit que peapod lui a donné un jeu complet mithril quand il est arrivé sur le serveur, épée et bouclier inclus. Il me les a montrés.

https://forum.minetest.net/viewtopic.php?f=10&t=15334&start=150#p234647

Extrait de debug.txt (grep peapod | grep -v "List of players")

2016-10-02 14:13:35: ACTION[Server]: peapod attempted to interact with [node under=-40,22,208 above=-40,23,208] without 'interact' privilege
2016-10-02 14:15:09: ACTION[Server]: peapod digs moreores:mineral_mithril at (2,-11449,1)
2016-10-02 14:15:19: ACTION[Server]: peapod digs moreores:mineral_mithril at (-23,-11445,-15)
2016-10-02 14:15:24: ACTION[Server]: peapod digs default:mese at (-20,-11448,-11)
2016-10-02 14:15:24: ACTION[Server]: peapod digs default:mese at (-20,-11449,-11)
2016-10-02 14:15:24: ACTION[Server]: peapod digs default:mese at (-20,-11449,-10)
2016-10-02 14:15:28: ACTION[Server]: peapod digs moreores:mineral_mithril at (-20,-11454,-4)
2016-10-02 14:15:29: ACTION[Server]: peapod digs moreores:mineral_mithril at (-26,-11455,-7)
2016-10-02 14:15:29: ACTION[Server]: peapod digs moreores:mineral_mithril at (-19,-11455,-1)
2016-10-02 14:15:40: ACTION[Server]: peapod digs moreores:mineral_mithril at (-21,-11449,-30)
2016-10-02 14:15:40: ACTION[Server]: peapod digs moreores:mineral_mithril at (-30,-11446,-29)

Il est ban

Un petit /deleteblocks pour restaurer les ressources Upsilon ?

paly2 commented 8 years ago

Je soupçonnais en effet très fortement qu'il aie un client cheaté (ce qui explique qu'il aie pu générer la map aussi bizarrement). Je l'avais vu fly (dans l'eau et dans l'air à jamais plus de 2 bocs de haut, donc j'avais mis ça sur le compte d'un bug), puis respirer dans l'eau pendant très longtemps. À un moment il a vu que je l'observais et il est mort, je m'étais dit qu'il avait un watersuit et que celui-ci s'était cassé.

On fera bien un /deleteblocks, il en faudra sans doute plusieurs d'ailleurs. Mais commençons par un rollback - long. On sait sur quelle surface le pillage des ressources a eu lieu ?

mgl512 commented 8 years ago

Oui, les logs indiquent les zones. -11.000 sous le spawn en premier. Vers (13k 14k, -6k -6.5k, -2.5k _ -3.5k) grossomodo ensuite . Il y a peut-être encore plus de zones. Les logs à son sujet sont très longs.

Aucune idée de comment il traque et mine les ressources à distance, si c'est comme ça qu'il fait. Il passe de "no interact" à -11.000 sous le spawn en 2 minutes.

On peut cheater l'absence de dégâts venant du client comme la noyade facilement, c'est même toi qui m'a dit le nom de la fonction. mais c'est pas une ABM ici la noyade (a cause du water suit) ? Elle devrait pas se cheater. Et fly, noclip, fast, zoom et peut-etre un autre se cheatent en une seule instruction. Refuser de mourir aussi. Lui est au delà, c'est un capitaine d'industrie.

paly2 commented 8 years ago

C'est simple, son client lui accorde tous les privs clients dont teleport et noclip, élimine ses dégâts clients (chute et eau/lave). Pour cherche les blocs, un client enregistre toujours tous les blocs chargés, le sien est cheaté pour en charger le plus possible et ne pas nettoyer ceux qui ne sont plus utilisés. Il a ensuite un algorithme pour parcourir tous les blocs, et les casser (le serveur ne vérifie pas si l'interact est fait trop loin s'il n'a pas l'anticheat activé).

Note: Le rollback est fait depuis l'IRC.

mgl512 commented 8 years ago

teleport est un priv client ? Et la noyade est pas une ABM a cause du water suit ?

On voit dans les logs qu'il a pris d'abord mithril et mese au spawn, ensuite du fer dans la zone suivante, loin a l'est. Je ne les ai regardés que grossièrement.

paly2 commented 8 years ago

Oui le teleport est un priv client (comme fly, noclip, zoom et fast). Pour la noyade non, c'est la lave qui devient ainsi à cause du lavasuit (le lavasuit et le watersuit fonctionnent différemment car le lavasuit doit intervenir beaucoup plus rapidement que le watersuit). Le watersuit se contente de redonner la respiration au client quand celui-ci s'en enlève...

mgl512 commented 8 years ago

Oui le teleport est un priv client

Il y a peut-être un interêt à refuser l'écran de respawn comme le cheater précédent alors (parce que je n'en ai jamais trouvé): noter ses coordonnées pendant qu'on est un fantôme pour se tp à son stuff. Mais il faut déco/reco pour revenir dans le jeu je pense.

Si tu fais un rollback, ty n'auras pas besoin de faire des /deleteblocks, les ressources seront revenues (si le rollback veut bien marcher). Il est arrivé sur le serveur vers 14 heures d'après les lignes que j'ai copiées des logs.

mgl512 commented 8 years ago

C'est quoi ça, "damaged by 127 hp" ?

2016-10-02 14:17:21: ACTION[Server]: peapod digs default:stone_with_iron at (-23,-11429,-8)
2016-10-02 14:17:22: ACTION[Server]: Player peapod respawned.
2016-10-02 14:17:43: ACTION[Server]: peapod damaged by 127 hp at (17.708,29999.5,-13.361)
2016-10-02 14:17:44: ACTION[Server]: Moving peapod to static spawnpoint at (0,30000,0)
[...]
2016-10-02 14:53:17: ACTION[Server]: peapod digs default:stone_with_coal at (14238,-957,-382)
2016-10-02 14:53:33: ACTION[Server]: Player peapod respawned.
2016-10-02 14:53:42: ACTION[Server]: peapod damaged by 127 hp at (14029.2,2.5,-2342.41)
2016-10-02 14:53:43: ACTION[Server]: Moving peapod to static spawnpoint at (0,30000,0)
2016-10-02 14:53:43: ACTION[Server]: peapod respawns at (0,30000,0)
2016-10-02 14:54:25: ACTION[Server]: peapod digs default:stone at (14048,-240,-2131)
[...]
2016-10-02 14:56:01: ACTION[Server]: peapod moves bones:bones to locked chest at (14023,4,-2345)
2016-10-02 14:56:19: ACTION[Server]: peapod damaged by 127 hp at (14027.7,2.5,-2342.46)
2016-10-02 14:56:20: ACTION[Server]: Moving peapod to static spawnpoint at (0,30000,0)
2016-10-02 14:56:20: ACTION[Server]: peapod respawns at (0,30000,0)
2016-10-02 14:56:49: ACTION[Server]: peapod digs default:sand at (14027,1,-2343)

Il a rien fait sous le pseudo de jackspades

mgl512 commented 8 years ago

Pour information, teleport ne se cheate pas avec la meme fonction que la générique C++ qui cheate fly, noclip, fast, zoom. Il faut faire plus d'efforts ou c'est un priv serveur.

paly2 commented 8 years ago

Pour le "damaged by 126 hp": Aucune idée. Peut-être une fonctionnalité de suicide du client, quand celui-ci est proche de se faire démasquer. En tout cas, rien dans le jeu n'est susceptible d'infliger de tels dégâts (même pas une chute, je pense...).

Pour teleport: en effet on ne peut pas s'obtenir le priv teleport directement. Mais il y a moyen de faire autrement pour le reproduire: normalement le client envoie un paquet au serveur lorsque celui-ci se déplace, donnant des informations sur le déplacement. Ce paquet doit pouvoir contenir de quoi "déplacer" le client n'importe où (si l'anticheat n'est pas activé bien sûr, c'est d'ailleurs exactement la fonctionnalité de l'anticheat qui se manifeste lorsqu'un joueur utilise le sprint). Cela donne une téléportation "linéaire": les autres joueurs voient le skin se déplacer très rapidement (comme lorsqu'on utilise la fonction moveto() dans l'API Lua), mais bel et bien une forme de téléportation. Et dans tous les cas, fly, noclip et fast remplacent teleport (d'ailleurs, si son client se déplaçait en hauteur, cela explique qu'il ne générait pas la surface à certains endroits...).

mgl512 commented 8 years ago

Quand on regarde le détail de ses actions, on voit qu'il ne crafte rien pour miner. c'est son stuff de départ. Et il creuse 136 mithrils (exclusivement) en 5 secondes ! Il ne fait rien à la main, son client casse les blocs automatiquement pour lui. L'auteur a dû passer des semaines à modifier son client. Pour aucun bénéfice.

J'ai regardé dans les logs pour voir si un client a fait des actions similaires depuis. Rien de suspect.

Edit: MTZ m'a donné un autre tuyau sur un joueur qui vient d'aileurs: edub, qui aurait aussi un client cheaté. Je n'ai pas vérifié qu'il s'est connecté. Il ajoute que peapod pouvait tuer les autres à distance sur Test. Il peut miner de tous les côtés en même temps, il doit aussi pouvoir mettre des coups d'épée partout...

paly2 commented 8 years ago

edub n'est pas un joueur connu du serveur...

Les minerais semblent être réaparus, je ferme l'issue