Menomale che nel titolo c'è scritto "SENZA OFFENDERE". Questo cambia decisamente tutto, se non ci fosse stato "senza offendere nel titolo" ci sarebbero state offese, invece così non ci sono. Menomale... Allora visto che non posso essere offeso commento anche io!
Mettere le protezioni in un client non è banale. Tutti che dicono "server di merd* non ha neanche le protezioni antihack staff incapace server merd*!!!!!!" ma nessuno che sa il lavoro che ci sia dietro, sia al server che alla "banalità" di inserire delle stupide protezioni anti hack.
Tanto per cominciare, per chi decide di aprire un server, deve avere delle skill di programmazione a tutto tondo. Solo in questa schifezza di gioco del 2005 ci sono 3 linguaggi. Devi avere a che fare con python 2 (ormai siamo al 3 eh), c++ (ovviamente anche questo versione vecchia, puoi aggiornarlo fino a una certa versione pregando che non si scassi tutto, sennò in bocca al lupo a riscriverti mezza source), e il caro vecchio lua (anche questo versione stra vecchia).
Si ma le versione vecchie perchè non le aggiornate?!?!?!?!?!?!? Perchè poi devi riscriverti praticamente mezza source. Alcune funzioni che in c98/c99 avevano certi effetti, in c++11/c++14 cambiano un pochino. Adesso vai a beccarle tutte e assicurarti che non ci siano effetti collaterali.
In tutto questo stai mettendo mano su lavoro fatto da altri in era preistorica senza documentazione! Ti devi muovere un po' alla cieca e cercare di capire a cosa stesse pensando chi ha programmato questo gioco nell'anteguerra.
A parte tutta questa menata, ora per le protezioni anti hack non esiste una soluzione. Vedi la riot. A parte qualche ban wave, se cerchi bene le hack le trovi ancora. Detto da uno che ha cheattato industurbato per mesi (rip League sharp).
Perchè non esistono? Semplice! Puoi spendere un fottio di tempo a cercare un modo per non far partire un hack, poi sicuramente ci sarà qualcun altro che magari nella metà del tempo riesce a farlo andare.
Puoi bloccare i metodi più comuni per le dll injection, ma tanto ce ne sono sempre altri. Attenzione! Se blocchi le dll injection devi essere sicuro di non bloccare le dll "buone". Ad esempio: faccio una whitelist di dll che il client può caricare, tutte le altre sono scartate.
Bene! Aspetta che ora arrivi il primo player con un pc del 2008 e magari una scheda video vecchia e i driver di nvidia devono essere caricati dal client. Ah ops, hai blacklistato quella dll, tanti saluti!
Purtroppo ci sono troppi fattori da considerare per sviluppare delle protezioni anti hack. L'unica cosa sarebbe fare un controllo server side. Ma a quel punto devi documentarti, ricercare, fare test. Per cosa? Per un gioco del 2005? Ci butteresti 2-3 mesi della tua vita per questo? Nessuno lo farebbe.
La cosa più conveniente da fare è far reportare i player e bannarli se necessario.
Quindi quando dite "protezioni anti hack" pensateci bene a tutto quello che c'è dietro! Il 99% dei player parla per scontato. È giusto cosi. Loro ovviamente non hanno le competenze tecniche e non sanno cosa c'è dietro. Però chi lo sa, sa di quello che stiamo parlando...
Poi sulla questione player non mi esprimo. L'utenza sta tutta su 1-2 server al massimo perchè ormai l'utenza italiana è poca.
Detto questo, buon proseguimento