Domanda Script per aggiornare codice

Stranger

Utente Iron
9 Febbraio 2021
22
3
9
Ciao a tutti, ho una domanda, sto lavorando ad un progetto su un server di gioco su VisualStudio2019, scritto in C#.
Avrei bisogno di uno script, che mi consenta di mandare un semplice comando in gioco, che abbia la funzione di aggiornare il codice nella Source, senza dover chiudere le console, compilare e riavviare.
Ho cercato molto online, magari sto anche sbagliando le parole chiave da usare, e quindi non trovo risultati pertinenti alla mia ricerca..
Ho visto che questa funzione è stata implementata in un'altro server, e siccome c'è molto lavoro da fare, sarebbe decisamente piu comodo lanciare un comando in gioco, che esegua appunto la funzione di aggiornare in "live" il codice senza dover riavviare ogni volta per controllare se ho risolto determinati problemi.. ciò mi aiuterebbe decisamente, siccome a volte per sistemare alcune cose, posso perdere anche delle ore tra riavvii vari, che in questo modo potrebbero essere evitati!
Sono aperto a qualsiasi suggerimento, non so neanche se ci sia una funzione su VS19, che consenta di fare ciò.. in ogni caso se qualcuno ha consigli, o può indicarmi una guida specifica gliene sarei davvero grato!!
 

JunkCoder

Moderatore
5 Giugno 2020
760
611
345
La frase "mandare un semplice comando in gioco" mi fa pensare che tu non abbia effettivo bisogno di farlo da codice (e quindi ricompilare), se puoi entrare piu' nel dettaglio saro' felice di darti qualche dritta. In particolare: di che genere di comando stiamo parlando, qual e' il suo scopo, in quale momento deve avvenire e, se possibile, un esempio del codice che usi per inviare tale "comando".
 

Stranger

Utente Iron
9 Febbraio 2021
22
3
9
La frase "mandare un semplice comando in gioco" mi fa pensare che tu non abbia effettivo bisogno di farlo da codice (e quindi ricompilare), se puoi entrare piu' nel dettaglio saro' felice di darti qualche dritta. In particolare: di che genere di comando stiamo parlando, qual e' il suo scopo, in quale momento deve avvenire e, se possibile, un esempio del codice che usi per inviare tale "comando".
Allora, in gioco ci son semplici comandi, come $lvl (per aumentate il livello) e cosi via, ciò che dico, è che se modifico il codice, magari per provare a modificare qualche caratteristica di un item, o dei vari personaggi, io sono obbligato a mandare il gioco offline chiudendo le varie console, ricompilare il codice e poter avviare nuovamente con le modifiche, mentre ciò che mi servirebbe sarebbe appunto poter mandare un comando in gioco che mi consenta di evitare tutto ciò, e quindi ad esempio modificare l effetto di un item dal codice, e poter vedere in gioco la modifica, senza appunto dover riavviare..
Spero di essere stato piu chiaro, e so che è possibile perchè un server è in grado di fare questo..
Se c è bisogno di un codice di esempio di un semplice comando, come esempio manderò appunto quello del $lvl piu il packet che lo fa funzionare
Tutte le modifiche, almeno la maggior parte le faccio dal codice (modifiche in gioco), quindi sono obbligato a riavviare per poter compilare e vedere il cambiamento
 
Banner pubblicitario per Bright Data su Inforge.net azienda di vendita Proxy, Data Collector e Content Unlocker
Supporta Inforge con una donazione

JunkCoder

Moderatore
5 Giugno 2020
760
611
345
Immagino che ci sia un database, potresti interagire direttamente su quello. Se non c'e' la cosa piu' pulita sarebbe crearne uno. Farlo a livello di codice senza neanche chiudere e riaprire il programma e' piu' complicato di quanto pensi. In ogni caso ti posso dare una mano ma serve un esempio delle modifiche tipiche che fai, che ne so: GetPlayerByName("tizio").SetDamageMultiplier(2.0);, Weapons.Axe.Speed = 1.3;... tutte cose a caso ma serve un esempio per poter essere piu' precisi. Che cosa modifichi in questo codice?
 

Stranger

Utente Iron
9 Febbraio 2021
22
3
9
Immagino che ci sia un database, potresti interagire direttamente su quello. Se non c'e' la cosa piu' pulita sarebbe crearne uno. Farlo a livello di codice senza neanche chiudere e riaprire il programma e' piu' complicato di quanto pensi. In ogni caso ti posso dare una mano ma serve un esempio delle modifiche tipiche che fai, che ne so: GetPlayerByName("tizio").SetDamageMultiplier(2.0);, Weapons.Axe.Speed = 1.3;... tutte cose a caso ma serve un esempio per poter essere piu' precisi. Che cosa modifichi in questo codice?
Il gioco in questione è Nostale, e i 3/4 delle cose che faccio al momento sono lato codice, mi serve semplicemente un modo per compilare i file.cs senza terminare il debug, per usare termini piu precisi.
Non c'è un codice nello specifico che vado a modificare, potrei modificare qualsiasi codice presente nel progetto, so che è complicata come cosa, e su internet non riesco a trovarne una soluzione, ma so per certo che questa cosa è presente su un'altro server, non dico di volere lo stesso script che utilizzano, ma almeno, poter appunto compilare senza interrompere il debug, dato che interrompere il debug equivale a mandare offline il server, cosi da poter effettuare delle modifiche e fare qualche test di vario genere senza appunto dover mandare tutto offline