Discussione La creazione di un server Metin2

Stato
Discussione chiusa ad ulteriori risposte.

JackSbirrow

Utente Gold
30 Luglio 2013
669
33
182
293
Salve a tutti, finalmente dopo tanto tempo che dico di doverlo fare, lo faccio. Vorrei andare subito al dunque:

Sono ormai 4 anni che sono entrato nel mondo della programmazione, a partire dalla scuola e continuando adesso in un'università al Dipartimento di Informatica. Ho sempre avuto la passione dentro, finendo così per diventare curioso su qualsiasi software io veda.
Come potete già intuire, questa passione ha tirato con sé la conoscenza di Metin2 a livello di codice. C'è una cosa che non ho mai capito in vita mia, una cosa che mi porto dentro da molto, la creazione di un vero e proprio server.
Durante il corso degli anni ho iniziato partendo da C++ per poi spostarmi come specializzazione su Java, vendendo vere e proprie applicazioni distribuite sia per Android che per Desktop. Ho anche lavorato un po' su PHP e Javascript per piccoli progetti. Ovviamente so cos'è un database, conosco il linguaggio SQL e così via, le basi che diciamo tutti dovrebbero avere.
Ora però, se c'è una cosa che mi rimane oscurata, è la visione di Metin a livello di source. In precedenza all'età di 13 anni, ho creato, tanto per provare, un piccolo server hostato in locale su una macchina virtuale. All'epoca non sapevo nemmeno che fosse una macchina virtuale, figuriamoci se sapevo tutto ciò che vedevo su internet. Adesso che sono cresciuto però ho una certa curiosità. Mi era venuto in mente di provare, nel tempo libero, a realizzare qualcosa per accrescere la mia cultura sia a livello di programmazione, che sul lato Metin, e non vedo perchè non farlo ora che arrivano le vacanze natalizie. Qui ho bisogno di voi, degli esperti che magari in passato hanno creato un server (che poi abbia chiuso non importa), esperti che lavorano per altri server, insomma, esperti di programmazione su Metin. Non nascondo l'idea di aprire magari un giorno un server mio, dove ci siano le cose che dica io, come dico io (soprattutto perchè dopo tanti anni sui server so cosa vogliono i player, mi sento di poterlo dire). La soddisfazione di creare un prodotto, un software e vederlo apprezzato è una soddisfazione che solo alcuni provano realmente.
Quindi, facciamo finta che io sia un bambino che dica "Voglio creare un server metin2 da zero ma non so una mazza!", e voi dobbiate spiegarmi passo passo.
Adesso faremo una sorta di lista, con i passi principali su cui io chiedo aiuto a voi, partendo dalle basi. Dunque, ho bisogno di esperti che mi aiutino in questi precisi punti, però non dando una risposta alla cazzum di canis, bensì molto dettagliatamente. Ovviamente potete scegliere di rispondere a tutti i punti come anche potete scegliere di rispondere ad uno solo, magari se siete esperti in quel settore specifico. Questa discussione deve essere utile anche a chi in futuro vorrà cimentarsi alla creazione di un proprio server. Magari se la discussione andrà bene e vedrò molte risposte, le migliori le sostituisco nella lista così che diventi una vera e propria discussione "Come si crea un server Metin2". Dunque signori, questi sono i punti, vediamo chi ne sa di più e può aiutarmi:



Fondamenta di un server: Come tutti sappiamo, per creare qualsiasi cosa nella vita, abbiamo bisogno di fondamenta, nel caso di Metin, i cosiddetti file server. Nella mia piccola esperienza da tredicenne, sentivo questi benedetti "file server 40k", e sinceramente nemmeno adesso so cosa siano né le differenze. Ricordo che però "guardando su internet" avevo bisogno di questi maledetti file server da caricare su macchina virtuale o una roba simile. Dunque vi chiedo, quali sono i componenti essenziali, primari, per startare banalmente un server privato? Sono inclusi nella domanda anche eventuali database locali/remoti.

Come far partire il proprio server: Una volta che si hanno le basi, bisogna testarle in qualche modo, bisogna vedere cosa c'è dentro, e quindi bisogna avere una macchina virtuale su cui farlo partire. Ricordo che da piccolo leone da tastiera, digitavo dei comandi per far partire il tutto su virtual machine. Ma uno dei miei dubbi è se conviene ancora usarne una o conviene fare tutto hostando online. Quindi vi chiedo a tal proposito, come si crea da zero una macchina virtuale per caricare il tutto (localmente), ma allo stesso modo, come si fa invece per lavorare online e non tenere troppa roba su un computer?

Una volta riusciti a creare tutto ed essendo effettivamente dentro il server, cominciano le difficoltà, ovvero le domande più stuzzicanti per me.

Creazione di qualcosa personale: Qui si apre un bel ramo, perché come sappiamo (anche io che non so nulla), possiamo sbizzarrirci su un server privato. Creazione di quest, implementazione di system (o magari qualche piccolo anti-bot creato da zero), package di armature, oppure tipo quando nei server lo staffer pubblica un aggiornamento del tipo "Aggiunto questo item craftabile con questi altri item". Per questo qui bisogna soffermarsi abbastanza. Sappiate che io personalmente non so nulla di tutte le cartelle e file che si trovano dentro ogni server privato, soprattutto non so cosa ci sia dentro "root" e perché sia così importante.

  • Creazione di quest: In più server vediamo ormai quest personalizzate che danno ricompense, sì, va bene, ma da dove si inizia? Come funziona la creazione di una quest, e come si "givvano" degli item, xp, e qualsiasi cosa ad un player? Informandomi ho sentito che si lavora in C++, ok, ma su quali file si scrive il codice? Ci sono librerie adatte?
  • Implementazione di system: Ogni server come sappiamo si contraddistingue per l'originalità di alcuni aspetti, la maggior parte per i system. Ma come si implementa realmente un "system"? Anche i più banali, cinture, mount, pet e così via. Successivamente, come si crea qualcosa di originale?
  • Modifica mappe/mob: Qui già entriamo in ambiente grafico, ahimè, zero esperienza, non so disegnare nemmeno qualcosa sul foglio. La domanda in questione è su come implementare mappe, cambiare i mob di una mappa, andare a toccare i valori di un mob, il suo drop, la sua vita, il suo danno. Sempre nel periodo di quando ero un bamboccio, un mio cugino (più grande di me) creò insieme ai suoi amici un server, e una volta mentre ci stava lavorando su, ricordo che mi chiese se secondo me i mob nella torre erano molti, facendomi proprio vedere un tool che con un bottone aumentava lo spawn dei mob o lo riduceva. Quindi, esistono tool che semplificano l'utente?
Database: Ovviamente, come qualsiasi progetto, deve esserci un database dietro, che poi sia locale o remoto non importa. Bene, dentro un database di un server, cosa si nascondono a parte i dati degli account? Soprattutto, va creato da zero, o come i file server ci sono dei database pronti? E quando si fanno delle implementazioni come ci si comporta?

Protezioni server: Sempre parlando di quel mio cugino che un giorno creò un server, ahimè, gli fu buttato giù da una serie di attacchi DDos, all'epoca non sapevo minimamente cosa fossero, quindi non vi so dire cosa attaccarono realmente. Anche su inforge stesso vedo persone, staffer di alcuni server, che si attaccano a vicenda, magari non riuscendo a buttare giù il server ma facendolo laggare. Dunque, a livello di protezioni, come ci si protegge da eventuali attacchi senza cadere, da protezioni anti-hack, i più famosi come quello di lalaker, ma anche quelle situazioni in cui il client ti cancella dei file sospetti dalla sua cartella, oppure quando si chiude perchè injectate qualcosa, o semplicemente si chiude se avviate il processo di lalaker? E' vero che si possono creare da zero?

Grafica 2D/3D: Infine, la parte che odio di più, la grafica. Partendo da "semplici" (complicate per me) grafiche 2D degli item (tipo quelli da upp), finestre modificate, fino ad arrivare alla grafica 3D delle mappe, armi e armature, qualsiasi cosa si voglia creare, anche un npc. Come si fa di solito a lavorare su queste cose? Ovviamente io non potrei mai e avrei bisogno di esperti che mi aiutino, ecco perchè in un progetto ci sono più persone.

Inutile dirvi che vi ringrazio se siete arrivati fino a questo punto della discussione, e un grazie ancora di più a chi avrà il piacere e la pazienza di rispondere anche ad uno solo di questi punti, perchè davvero, non so come io faccia, ma non so assolutamente cosa ci sia dietro un server, in nessuno degli aspetti qui elencati, zero assoluto. Spero possa diventare una discussione ampia. Ci si vede!
 
Salve a tutti, finalmente dopo tanto tempo che dico di doverlo fare, lo faccio. Vorrei andare subito al dunque:

Sono ormai 4 anni che sono entrato nel mondo della programmazione, a partire dalla scuola e continuando adesso in un'università al Dipartimento di Informatica. Ho sempre avuto la passione dentro, finendo così per diventare curioso su qualsiasi software io veda.
Come potete già intuire, questa passione ha tirato con sé la conoscenza di Metin2 a livello di codice. C'è una cosa che non ho mai capito in vita mia, una cosa che mi porto dentro da molto, la creazione di un vero e proprio server.
Durante il corso degli anni ho iniziato partendo da C++ per poi spostarmi come specializzazione su Java, vendendo vere e proprie applicazioni distribuite sia per Android che per Desktop. Ho anche lavorato un po' su PHP e Javascript per piccoli progetti. Ovviamente so cos'è un database, conosco il linguaggio SQL e così via, le basi che diciamo tutti dovrebbero avere.
Ora però, se c'è una cosa che mi rimane oscurata, è la visione di Metin a livello di source. In precedenza all'età di 13 anni, ho creato, tanto per provare, un piccolo server hostato in locale su una macchina virtuale. All'epoca non sapevo nemmeno che fosse una macchina virtuale, figuriamoci se sapevo tutto ciò che vedevo su internet. Adesso che sono cresciuto però ho una certa curiosità. Mi era venuto in mente di provare, nel tempo libero, a realizzare qualcosa per accrescere la mia cultura sia a livello di programmazione, che sul lato Metin, e non vedo perchè non farlo ora che arrivano le vacanze natalizie. Qui ho bisogno di voi, degli esperti che magari in passato hanno creato un server (che poi abbia chiuso non importa), esperti che lavorano per altri server, insomma, esperti di programmazione su Metin. Non nascondo l'idea di aprire magari un giorno un server mio, dove ci siano le cose che dica io, come dico io (soprattutto perchè dopo tanti anni sui server so cosa vogliono i player, mi sento di poterlo dire). La soddisfazione di creare un prodotto, un software e vederlo apprezzato è una soddisfazione che solo alcuni provano realmente.
Quindi, facciamo finta che io sia un bambino che dica "Voglio creare un server metin2 da zero ma non so una mazza!", e voi dobbiate spiegarmi passo passo.
Adesso faremo una sorta di lista, con i passi principali su cui io chiedo aiuto a voi, partendo dalle basi. Dunque, ho bisogno di esperti che mi aiutino in questi precisi punti, però non dando una risposta alla cazzum di canis, bensì molto dettagliatamente. Ovviamente potete scegliere di rispondere a tutti i punti come anche potete scegliere di rispondere ad uno solo, magari se siete esperti in quel settore specifico. Questa discussione deve essere utile anche a chi in futuro vorrà cimentarsi alla creazione di un proprio server. Magari se la discussione andrà bene e vedrò molte risposte, le migliori le sostituisco nella lista così che diventi una vera e propria discussione "Come si crea un server Metin2". Dunque signori, questi sono i punti, vediamo chi ne sa di più e può aiutarmi:



Fondamenta di un server: Come tutti sappiamo, per creare qualsiasi cosa nella vita, abbiamo bisogno di fondamenta, nel caso di Metin, i cosiddetti file server. Nella mia piccola esperienza da tredicenne, sentivo questi benedetti "file server 40k", e sinceramente nemmeno adesso so cosa siano né le differenze. Ricordo che però "guardando su internet" avevo bisogno di questi maledetti file server da caricare su macchina virtuale o una roba simile. Dunque vi chiedo, quali sono i componenti essenziali, primari, per startare banalmente un server privato? Sono inclusi nella domanda anche eventuali database locali/remoti.

Come far partire il proprio server: Una volta che si hanno le basi, bisogna testarle in qualche modo, bisogna vedere cosa c'è dentro, e quindi bisogna avere una macchina virtuale su cui farlo partire. Ricordo che da piccolo leone da tastiera, digitavo dei comandi per far partire il tutto su virtual machine. Ma uno dei miei dubbi è se conviene ancora usarne una o conviene fare tutto hostando online. Quindi vi chiedo a tal proposito, come si crea da zero una macchina virtuale per caricare il tutto (localmente), ma allo stesso modo, come si fa invece per lavorare online e non tenere troppa roba su un computer?

Una volta riusciti a creare tutto ed essendo effettivamente dentro il server, cominciano le difficoltà, ovvero le domande più stuzzicanti per me.

Creazione di qualcosa personale: Qui si apre un bel ramo, perché come sappiamo (anche io che non so nulla), possiamo sbizzarrirci su un server privato. Creazione di quest, implementazione di system (o magari qualche piccolo anti-bot creato da zero), package di armature, oppure tipo quando nei server lo staffer pubblica un aggiornamento del tipo "Aggiunto questo item craftabile con questi altri item". Per questo qui bisogna soffermarsi abbastanza. Sappiate che io personalmente non so nulla di tutte le cartelle e file che si trovano dentro ogni server privato, soprattutto non so cosa ci sia dentro "root" e perché sia così importante.

  • Creazione di quest: In più server vediamo ormai quest personalizzate che danno ricompense, sì, va bene, ma da dove si inizia? Come funziona la creazione di una quest, e come si "givvano" degli item, xp, e qualsiasi cosa ad un player? Informandomi ho sentito che si lavora in C++, ok, ma su quali file si scrive il codice? Ci sono librerie adatte?
  • Implementazione di system: Ogni server come sappiamo si contraddistingue per l'originalità di alcuni aspetti, la maggior parte per i system. Ma come si implementa realmente un "system"? Anche i più banali, cinture, mount, pet e così via. Successivamente, come si crea qualcosa di originale?
  • Modifica mappe/mob: Qui già entriamo in ambiente grafico, ahimè, zero esperienza, non so disegnare nemmeno qualcosa sul foglio. La domanda in questione è su come implementare mappe, cambiare i mob di una mappa, andare a toccare i valori di un mob, il suo drop, la sua vita, il suo danno. Sempre nel periodo di quando ero un bamboccio, un mio cugino (più grande di me) creò insieme ai suoi amici un server, e una volta mentre ci stava lavorando su, ricordo che mi chiese se secondo me i mob nella torre erano molti, facendomi proprio vedere un tool che con un bottone aumentava lo spawn dei mob o lo riduceva. Quindi, esistono tool che semplificano l'utente?
Database: Ovviamente, come qualsiasi progetto, deve esserci un database dietro, che poi sia locale o remoto non importa. Bene, dentro un database di un server, cosa si nascondono a parte i dati degli account? Soprattutto, va creato da zero, o come i file server ci sono dei database pronti? E quando si fanno delle implementazioni come ci si comporta?

Protezioni server: Sempre parlando di quel mio cugino che un giorno creò un server, ahimè, gli fu buttato giù da una serie di attacchi DDos, all'epoca non sapevo minimamente cosa fossero, quindi non vi so dire cosa attaccarono realmente. Anche su inforge stesso vedo persone, staffer di alcuni server, che si attaccano a vicenda, magari non riuscendo a buttare giù il server ma facendolo laggare. Dunque, a livello di protezioni, come ci si protegge da eventuali attacchi senza cadere, da protezioni anti-hack, i più famosi come quello di lalaker, ma anche quelle situazioni in cui il client ti cancella dei file sospetti dalla sua cartella, oppure quando si chiude perchè injectate qualcosa, o semplicemente si chiude se avviate il processo di lalaker? E' vero che si possono creare da zero?

Grafica 2D/3D: Infine, la parte che odio di più, la grafica. Partendo da "semplici" (complicate per me) grafiche 2D degli item (tipo quelli da upp), finestre modificate, fino ad arrivare alla grafica 3D delle mappe, armi e armature, qualsiasi cosa si voglia creare, anche un npc. Come si fa di solito a lavorare su queste cose? Ovviamente io non potrei mai e avrei bisogno di esperti che mi aiutino, ecco perchè in un progetto ci sono più persone.

Inutile dirvi che vi ringrazio se siete arrivati fino a questo punto della discussione, e un grazie ancora di più a chi avrà il piacere e la pazienza di rispondere anche ad uno solo di questi punti, perchè davvero, non so come io faccia, ma non so assolutamente cosa ci sia dietro un server, in nessuno degli aspetti qui elencati, zero assoluto. Spero possa diventare una discussione ampia. Ci si vede!
Sono curioso anvhe io,seguo!
 
Ultima modifica:
Grafica 2D/3D: Infine, la parte che odio di più, la grafica. Partendo da "semplici" (complicate per me) grafiche 2D degli item (tipo quelli da upp), finestre modificate, fino ad arrivare alla grafica 3D delle mappe, armi e armature, qualsiasi cosa si voglia creare, anche un npc. Come si fa di solito a lavorare su queste cose? Ovviamente io non potrei mai e avrei bisogno di esperti che mi aiutino, ecco perchè in un progetto ci sono più persone.
Cercherò di darti un infarinatura, comunque per quanto riguarda Grafica 2D, i programmi più facili per iniziare (alcuni non sono proprio professionali ma sono di facile intuizione d’uso) io essendo negato nell’anima sulla grafica 2D, ti consiglio Paint.net/Photoshop.
Per la grafica 3D i programmi che uso sono diversi, per mappe ad esempio ti servirà word editor, ti consiglio la versione di Martysama, revisionata alla v24 se non sbaglio versione.
Per armi, armature pet mount ecc... ti serviranno altri programmi (studio max 3d) e un po’ di esperienza e pazienza per imparare. Per la creazione di mappe ci sono anche guide.
 
  • Mi piace
Reazioni: JackSbirrow
[QUOTE="JGrafica 2D/3D: Infine, la parte che odio di più, la grafica. Partendo da "semplici" (complicate per me) grafiche 2D degli item (tipo quelli da upp), finestre modificate, fino ad arrivare alla grafica 3D delle mappe, armi e armature, qualsiasi cosa si voglia creare, anche un npc. Come si fa di solito a lavorare su queste cose? Ovviamente io non potrei mai e avrei bisogno di esperti che mi aiutino, ecco perchè in un progetto ci sono più persone.

Inutile dirvi che vi ringrazio se siete arrivati fino a questo punto della discussione, e un grazie ancora di più a chi avrà il piacere e la pazienza di rispondere anche ad uno solo di questi punti, perchè davvero, non so come io faccia, ma non so assolutamente cosa ci sia dietro un server, in nessuno degli aspetti qui elencati, zero assoluto. Spero possa diventare una discussione ampia. Ci si vede![/QUOTE]

Qui arrivo io, per fare tutto quello che hai scritto armi, armature, mount. hai bisogno della stessa quantità di tempo che hai usato per imparare a programmare... programmazione e modellazione ( compresa l'animazione) sono due mondi diversi in atto pratico, usando sempre la testa in quello che fai. ma il punto è un altro, bisogna studiare DAVVERO tanto nella modellazione, fai conto che io ho studiato a 11 anni con un mattone da 400 pagine della versione 3ds max 5.0..e acora non ho finito di imparare..se vuoi fare questo solo per metin ti dico che non vale ASSOLUTAMENTE la pena.
ma se vuoi inizia a comprare dei corsi per la modellazione per capire come funziona.
 
  • Mi piace
Reazioni: Lok'Narash
Fondamenta di un server: Come tutti sappiamo, per creare qualsiasi cosa nella vita, abbiamo bisogno di fondamenta, nel caso di Metin, i cosiddetti file server. Nella mia piccola esperienza da tredicenne, sentivo questi benedetti "file server 40k", e sinceramente nemmeno adesso so cosa siano né le differenze. Ricordo che però "guardando su internet" avevo bisogno di questi maledetti file server da caricare su macchina virtuale o una roba simile. Dunque vi chiedo, quali sono i componenti essenziali, primari, per startare banalmente un server privato? Sono inclusi nella domanda anche eventuali database locali/remoti.

Come far partire il proprio server: Una volta che si hanno le basi, bisogna testarle in qualche modo, bisogna vedere cosa c'è dentro, e quindi bisogna avere una macchina virtuale su cui farlo partire. Ricordo che da piccolo leone da tastiera, digitavo dei comandi per far partire il tutto su virtual machine. Ma uno dei miei dubbi è se conviene ancora usarne una o conviene fare tutto hostando online. Quindi vi chiedo a tal proposito, come si crea da zero una macchina virtuale per caricare il tutto (localmente), ma allo stesso modo, come si fa invece per lavorare online e non tenere troppa roba su un computer?

Una volta riusciti a creare tutto ed essendo effettivamente dentro il server, cominciano le difficoltà, ovvero le domande più stuzzicanti per me.

Creazione di qualcosa personale: Qui si apre un bel ramo, perché come sappiamo (anche io che non so nulla), possiamo sbizzarrirci su un server privato. Creazione di quest, implementazione di system (o magari qualche piccolo anti-bot creato da zero), package di armature, oppure tipo quando nei server lo staffer pubblica un aggiornamento del tipo "Aggiunto questo item craftabile con questi altri item". Per questo qui bisogna soffermarsi abbastanza. Sappiate che io personalmente non so nulla di tutte le cartelle e file che si trovano dentro ogni server privato, soprattutto non so cosa ci sia dentro "root" e perché sia così importante.

  • Creazione di quest: In più server vediamo ormai quest personalizzate che danno ricompense, sì, va bene, ma da dove si inizia? Come funziona la creazione di una quest, e come si "givvano" degli item, xp, e qualsiasi cosa ad un player? Informandomi ho sentito che si lavora in C++, ok, ma su quali file si scrive il codice? Ci sono librerie adatte?
  • Implementazione di system: Ogni server come sappiamo si contraddistingue per l'originalità di alcuni aspetti, la maggior parte per i system. Ma come si implementa realmente un "system"? Anche i più banali, cinture, mount, pet e così via. Successivamente, come si crea qualcosa di originale?
  • Modifica mappe/mob: Qui già entriamo in ambiente grafico, ahimè, zero esperienza, non so disegnare nemmeno qualcosa sul foglio. La domanda in questione è su come implementare mappe, cambiare i mob di una mappa, andare a toccare i valori di un mob, il suo drop, la sua vita, il suo danno. Sempre nel periodo di quando ero un bamboccio, un mio cugino (più grande di me) creò insieme ai suoi amici un server, e una volta mentre ci stava lavorando su, ricordo che mi chiese se secondo me i mob nella torre erano molti, facendomi proprio vedere un tool che con un bottone aumentava lo spawn dei mob o lo riduceva. Quindi, esistono tool che semplificano l'utente?
Database: Ovviamente, come qualsiasi progetto, deve esserci un database dietro, che poi sia locale o remoto non importa. Bene, dentro un database di un server, cosa si nascondono a parte i dati degli account? Soprattutto, va creato da zero, o come i file server ci sono dei database pronti? E quando si fanno delle implementazioni come ci si comporta?

Protezioni server: Sempre parlando di quel mio cugino che un giorno creò un server, ahimè, gli fu buttato giù da una serie di attacchi DDos, all'epoca non sapevo minimamente cosa fossero, quindi non vi so dire cosa attaccarono realmente. Anche su inforge stesso vedo persone, staffer di alcuni server, che si attaccano a vicenda, magari non riuscendo a buttare giù il server ma facendolo laggare. Dunque, a livello di protezioni, come ci si protegge da eventuali attacchi senza cadere, da protezioni anti-hack, i più famosi come quello di lalaker, ma anche quelle situazioni in cui il client ti cancella dei file sospetti dalla sua cartella, oppure quando si chiude perchè injectate qualcosa, o semplicemente si chiude se avviate il processo di lalaker? E' vero che si possono creare da zero?


Buonasera, cercherò con questo commento cercherò di spiegarti brevemente e chiarire, spero, nel modo più comprensibile, i tuoi dubbi riguardo gli argomenti sopra citati.

1. Fondamenta di un server:
Quali sono i componenti essenziali, primari, per startare banalmente un server privato? Sono inclusi nella domanda anche eventuali database locali/remoti.
- Senza alcun dubbio le basi di Metin2 si posso dividere in varie parti:
-1. Una Vps (o Vm) per startare rispettivamente in un dedicato o in locale (Uno dei miglior siti a mio parere per comprare una Vps/Dedicato è Kimsufi)
-2. Una struttura del Server (successiva all'installazione della Vps) che comprende ed include i Vari componenti del Gioco (File Game, File DB, locale, Ch, map, quest, object, ecc ecc..
-3. Un database che verrà inserito nel momento successivo all'installazione della VPS nell'apposito percorso.


2. Come far partire il proprio server:
A mio parere il miglior modo per smanettare su Metin2 è l'utilizzo di un'apposita VPS-TEST (che puoi trovare anche al prezzo di 7€(IVA esclusa) e caricare, installare il tutto su quella base.)
Avrai inoltre bisogno anche di un Client , insieme ai FileServer, per testare tutti i progressi , quest o i vari update.


3. Creazione di qualcosa personale:
Sotto questo punto si può parlare per ore dato che il proprio server è modificabile a proprio piacimento:

Ti faccio una breve lista dei vari linguaggi e delle varie cose da sapere:
--- Per quanto riguarda la creazione di Quest il linguaggio fondamentale è il LUA, linguaggio fondamentale da conoscere per iniziare a scrivere anche le quest basiche come attribuire un livello, givvare un item, attribuire Exp, fino ad arrivare a creazioni di veri e propri dungeon.
è presente dentro del Server un file -- Quest_function -- che ti fa un elenco di tutte le funzioni presenti nel server e che sono collegato alle source (che spiegano cosa fa ogni singola funzione) [Per leggere ciò è necessario il linguaggio di Programmazione C++ (anche se le funzioni sono molto intuitive)].
--- Implementazioni di System: Ormai, con la scoperta delle Source (Base di programmazione (C++ ) che crea l'intero server) ogni singolo system viene creato ed adattato al codice C++. Per implementare Nuovi system dunque saranno necessari il Codice Sorgente e Binario(Componenti delle Source che ti creano dispettivamente i file GAME-DB -- Launcher) e per effettuare ciò è necessario consocere il Linguaggio C++ (In source per creare la base del tuo system) e Python (Per dare forma graficamente ai tuoi system nel client).

--- Modificare Mob/Mappe/Ecc: Per effettuare ciò non sono necessarie grosse competenze di codici di programmazione. Per esperienza personale ti basta un po' di manualità e logica per capire che file toccare; Molte volte (Come l'implementazione di Armi, Mobb) il lavoro consiste nel copiare la stringa da un altro Mobb/Arma ecc che sia e incollarla modificando i vari valori (Componenti del Mob/Arma) come Vnum, Nome, Prezzo, Valore Attacco, ecc ecc..

Database:
Il Database (Accessibile attraverso Navicat) si Occupa principalmente del Settaggio di Metin2 (Creazioni Account, Settaggio Rate Exp, Implementazioni Armi/Armature/Mobb, Setting dell'exp, dei vari negozi, dei valori delle Skill, del'implementazioni di tutti gli item presenti, settaggio dei Gm, settaggio dei Bonus ecc ecc..)
Ogni cosa è divisa in vari File, ognuno che si occupa di una cosa diversa.
Es. Player - Item Proto - Si occupa di tutti gli Item del Gioco
Player- Mob proto - Di tutti i Mobb del Gioco
Account - di tutti gli account del Gioco
Ecc. ecc.

Grafica 2D/3D: Lascio il commento a @Guglielmo[3DArtist] , nonchè amico, che sicuramente ti saprà spiegare per bene tutto l'ambito del 2D/3D.

Ps. Ovviamente è una spiegazione molto basica e veloce per i poco esperti. Ho cercato di darti dei chiarimenti per farti capire, nel modo più breve e meno noioso possibile il mondo di Metin2.
Senza alcun dubbio è un mondo che richiede capacità di programmazioni, dedicazione e molto molto tempo.
Non pensare che impari il tutto in 1 mese né tantomeno in 1 anni. Ci sono dietro ad ogni Grafico, Programmatore anni e anni di studio di codici, manuali e tanta pratica per arrivare a livelli di poter creare un system senza alcun problema e senza Bug.


Per qualsiasi altra info ti lascio il mio contatto Skype: mentalshott
Se hai bisogno di qualche altra Info non esitare a contattarmi.
Good Luck.
 
Ultima modifica:
Buonasera, cercherò con questo commento cercherò di spiegarti brevemente e chiarire, spero, nel modo più comprensibile, i tuoi dubbi riguardo gli argomenti sopra citati.

1. Fondamenta di un server:
Quali sono i componenti essenziali, primari, per startare banalmente un server privato? Sono inclusi nella domanda anche eventuali database locali/remoti.
- Senza alcun dubbio le basi di Metin2 si posso dividere in varie parti:
-1. Una Vps (o Vm) per startare rispettivamente in un dedicato o in locale (Uno dei miglior siti a mio parere per comprare una Vps/Dedicato è Kimsufi)
-2. Una struttura del Server (successiva all'installazione della Vps) che comprende ed include i Vari componenti del Gioco (File Game, File DB, locale, Ch, map, quest, object, ecc ecc..
-3. Un database che verrà inserito nel momento successivo all'installazione della VPS nell'apposito percorso.


2. Come far partire il proprio server:
A mio parere il miglior modo per smanettare su Metin2 è l'utilizzo di un'apposita VPS-TEST (che puoi trovare anche al prezzo di 7€(IVA esclusa) e caricare, installare il tutto su quella base.)
Avrai inoltre bisogno anche di un Client , insieme ai FileServer, per testare tutti i progressi , quest o i vari update.


3. Creazione di qualcosa personale:
Sotto questo punto si può parlare per ore dato che il proprio server è modificabile a proprio piacimento:

Ti faccio una breve lista dei vari linguaggi e delle varie cose da sapere:
--- Per quanto riguarda la creazione di Quest il linguaggio fondamentale è il LUA, linguaggio fondamentale da conoscere per iniziare a scrivere anche le quest basiche come attribuire un livello, givvare un item, attribuire Exp, fino ad arrivare a creazioni di veri e propri dungeon.
è presente dentro del Server un file -- Quest_function -- che ti fa un elenco di tutte le funzioni presenti nel server e che sono collegato alle source (che spiegano cosa fa ogni singola funzione) [Per leggere ciò è necessario il linguaggio di Programmazione C++ (anche se le funzioni sono molto intuitive)].
--- Implementazioni di System: Ormai, con la scoperta delle Source (Base di programmazione (C++ ) che crea l'intero server) ogni singolo system viene creato ed adattato al codice C++. Per implementare Nuovi system dunque saranno necessari il Codice Sorgente e Binario(Componenti delle Source che ti creano dispettivamente i file GAME-DB -- Launcher) e per effettuare ciò è necessario consocere il Linguaggio C++ (In source per creare la base del tuo system) e Python (Per dare forma graficamente ai tuoi system nel client).

--- Modificare Mob/Mappe/Ecc: Per effettuare ciò non sono necessarie grosse competenze di codici di programmazione. Per esperienza personale ti basta un po' di manualità e logica per capire che file toccare; Molte volte (Come l'implementazione di Armi, Mobb) il lavoro consiste nel copiare la stringa da un altro Mobb/Arma ecc che sia e incollarla modificando i vari valori (Componenti del Mob/Arma) come Vnum, Nome, Prezzo, Valore Attacco, ecc ecc..

Database:
Il Database (Accessibile attraverso Navicat) si Occupa principalmente del Settaggio di Metin2 (Creazioni Account, Settaggio Rate Exp, Implementazioni Armi/Armature/Mobb, Setting dell'exp, dei vari negozi, dei valori delle Skill, del'implementazioni di tutti gli item presenti, settaggio dei Gm, settaggio dei Bonus ecc ecc..)
Ogni cosa è divisa in vari File, ognuno che si occupa di una cosa diversa.
Es. Player - Item Proto - Si occupa di tutti gli Item del Gioco
Player- Mob proto - Di tutti i Mobb del Gioco
Account - di tutti gli account del Gioco
Ecc. ecc.

Grafica 2D/3D: Lascio il commento a @Guglielmo[3DArtist] , nonchè amico, che sicuramente ti saprà spiegare per bene tutto l'ambito del 2D/3D.

Ps. Ovviamente è una spiegazione molto basica e veloce per i poco esperti. Ho cercato di darti dei chiarimenti per farti capire, nel modo più breve e meno noioso possibile il mondo di Metin2.
Senza alcun dubbio è un mondo che richiede capacità di programmazioni, dedicazione e molto molto tempo.
Non pensare che impari il tutto in 1 mese né tantomeno in 1 anni. Ci sono dietro ad ogni Grafico, Programmatore anni e anni di studio di codici, manuali e tanta pratica per arrivare a livelli di poter creare un system senza alcun problema e senza Bug.


Per qualsiasi altra info ti lascio il mio contatto Skype: mentalshott
Se hai bisogno di qualche altra Info non esitare a contattarmi.
Good Luck.
Grazie mille, di sicuro non pretendo di fare tutto, mi serviva solo sapere cosa c'è dietro un server di Metin, e il fatto che ci siano tanti server mi incuriosisce, perchè ciò implica che molti hanno studiato come creare tutte queste cose (parlo a livello di codice), io non saprei nemmeno da dove iniziare sinceramente. Se qualcuno mi dicesse "Bene, inizia a creare una quest" io perderei tempo intanto a imparare un minimo di sintassi LUA, poi essendo a me un linguaggio sconosciuto, mi servirebbe pratica, imparare moduli/librerie, stessa cosa per Python. Quindi diciamo che magari """un giorno""" potrò pensare all'idea di fare un server personale, magari trovando (realmente, non virtualmente) amici con cui collaborare che sappiano già queste cose. La discussione continua se qualcuno volesse approfondire!
Messaggio unito automaticamente:

Qui arrivo io, per fare tutto quello che hai scritto armi, armature, mount. hai bisogno della stessa quantità di tempo che hai usato per imparare a programmare... programmazione e modellazione ( compresa l'animazione) sono due mondi diversi in atto pratico, usando sempre la testa in quello che fai. ma il punto è un altro, bisogna studiare DAVVERO tanto nella modellazione, fai conto che io ho studiato a 11 anni con un mattone da 400 pagine della versione 3ds max 5.0..e acora non ho finito di imparare..se vuoi fare questo solo per metin ti dico che non vale ASSOLUTAMENTE la pena.
ma se vuoi inizia a comprare dei corsi per la modellazione per capire come funziona.

Assolutamente no, non sono mai stato interessato al mondo grafico, manco photoshop so usare, ho bisogno di molti tutorial... Il mio mondo è la "creazione" a livello di codice, può essere qualsiasi linguaggio, ma basta che si tratti di programmare e collegare molte cose insieme io ci vado pazzo. Purtroppo mi sarebbe piaciuto in una vita parallela essere un designer, essere bravo nel disegno, fare progetti sul computer o con una tavoletta grafica. Quindi per questo continua a piacermi l'idea di poter creare (per altri server magari) qualcosa che a loro serve a livello di codice, il problema è che bisogna avere le conoscenze (banalmente, librerie, moduli, ma anche il codice che ci sta dietro) adeguate per sviluppare qualcosa inerente al "mondo" di Metin, anche perchè non avendo mai programmato un vero e proprio gioco (con grafica, animazione ecc...) non so cosa si nasconde.
 
Grazie mille, di sicuro non pretendo di fare tutto, mi serviva solo sapere cosa c'è dietro un server di Metin, e il fatto che ci siano tanti server mi incuriosisce, perchè ciò implica che molti hanno studiato come creare tutte queste cose (parlo a livello di codice), io non saprei nemmeno da dove iniziare sinceramente. Se qualcuno mi dicesse "Bene, inizia a creare una quest" io perderei tempo intanto a imparare un minimo di sintassi LUA, poi essendo a me un linguaggio sconosciuto, mi servirebbe pratica, imparare moduli/librerie, stessa cosa per Python. Quindi diciamo che magari """un giorno""" potrò pensare all'idea di fare un server personale, magari trovando (realmente, non virtualmente) amici con cui collaborare che sappiano già queste cose. La discussione continua se qualcuno volesse approfondire!
Messaggio unito automaticamente:



Assolutamente no, non sono mai stato interessato al mondo grafico, manco photoshop so usare, ho bisogno di molti tutorial... Il mio mondo è la "creazione" a livello di codice, può essere qualsiasi linguaggio, ma basta che si tratti di programmare e collegare molte cose insieme io ci vado pazzo. Purtroppo mi sarebbe piaciuto in una vita parallela essere un designer, essere bravo nel disegno, fare progetti sul computer o con una tavoletta grafica. Quindi per questo continua a piacermi l'idea di poter creare (per altri server magari) qualcosa che a loro serve a livello di codice, il problema è che bisogna avere le conoscenze (banalmente, librerie, moduli, ma anche il codice che ci sta dietro) adeguate per sviluppare qualcosa inerente al "mondo" di Metin, anche perchè non avendo mai programmato un vero e proprio gioco (con grafica, animazione ecc...) non so cosa si nasconde.
Grazie mille, di sicuro non pretendo di fare tutto, mi serviva solo sapere cosa c'è dietro un server di Metin, e il fatto che ci siano tanti server mi incuriosisce, perchè ciò implica che molti hanno studiato come creare tutte queste cose (parlo a livello di codice), io non saprei nemmeno da dove iniziare sinceramente. Se qualcuno mi dicesse "Bene, inizia a creare una quest" io perderei tempo intanto a imparare un minimo di sintassi LUA, poi essendo a me un linguaggio sconosciuto, mi servirebbe pratica, imparare moduli/librerie, stessa cosa per Python. Quindi diciamo che magari """un giorno""" potrò pensare all'idea di fare un server personale, magari trovando (realmente, non virtualmente) amici con cui collaborare che sappiano già queste cose. La discussione continua se qualcuno volesse approfondire!
Messaggio unito automaticamente:



Assolutamente no, non sono mai stato interessato al mondo grafico, manco photoshop so usare, ho bisogno di molti tutorial... Il mio mondo è la "creazione" a livello di codice, può essere qualsiasi linguaggio, ma basta che si tratti di programmare e collegare molte cose insieme io ci vado pazzo. Purtroppo mi sarebbe piaciuto in una vita parallela essere un designer, essere bravo nel disegno, fare progetti sul computer o con una tavoletta grafica. Quindi per questo continua a piacermi l'idea di poter creare (per altri server magari) qualcosa che a loro serve a livello di codice, il problema è che bisogna avere le conoscenze (banalmente, librerie, moduli, ma anche il codice che ci sta dietro) adeguate per sviluppare qualcosa inerente al "mondo" di Metin, anche perchè non avendo mai programmato un vero e proprio gioco (con grafica, animazione ecc...) non so cosa si nasconde.
ci sono a disposizione i file server/game e client con tanto di source. appena starti il server ( ci sono tantissime guide) inizia a lavorare con i file source del client che usa il c++. smanettaci sopra e vedi quello che ti esce...cerca di capire ogni funzione, se non sai qualcosa puoi sempre chiedere nel forum
 
Grazie mille, di sicuro non pretendo di fare tutto, mi serviva solo sapere cosa c'è dietro un server di Metin, e il fatto che ci siano tanti server mi incuriosisce, perchè ciò implica che molti hanno studiato come creare tutte queste cose (parlo a livello di codice),

Mi dispiace contraddirti ma molti server non hanno nemmeno un Dev che progetta i system.
Pagano qualcuno per avere qualcosa di pronto, tutto qui.
 
Vabbè dai, ma almeno quei server con quest tutte rifatte (o almeno dicono), system strani che non si vedono quasi mai ecc...
Sono pochi assai i server che possono vantare uno staff di sviluppo interno (FUNZIONANTE) se noti oltre ai pochi fortunati molti se non moltissmi server hanno molti system uguali/simili.
 
Ripropongo un up.
Ho ricevuto dei file con delle cartelle, rispettivamente novaline, mainline e così via. Non so nemmeno la differenza, partiamo da qui.
Dentro novaline ho queste cartelle:
-Client
-Extern
-Server
-Tools
Inutile dirvi che in ogni dir ci sono altre dir ed è pieno zeppo di file cpp e file header.
Come dovrei fare con questi, insieme ad una macchina virtuale con FreeBSD a startare un server e iniziare a lavorarci su?
 
Non esiste nessuna documentazione, il tuo unico modo di apprendere (come è stato per tutti) è girarti le guide su come iniziare, modifiche di base ecc... quasi sempre le guide dal 2011 in giù vanno quasi sempre bene.
Le locali, database ti consiglio di usare quelli del 2011 in su, mentre le quest qualunque va bene.
Per i file server hai scelta libera, io personalmente uso la strutta dei fs 2007 aggiornata da me.

Metin2 ti richiederà pazienza e impegno, potresti avere dei problemi che richiedono anche un giorno di analisi per risolverli, molti system o source che troverai su internet sono buggati o non perfettamente funzionanti. Spero di averti vagamente chiarito dove puoi iniziare a toccare i sorgenti, buona fortuna!
Ti ringrazio della risposta intanto. Il mio problema non è tantomeno l'analisi e il problem solving di un determinato bug/problema che si presenti, primo perchè ho passato anche giorni per risolvere una bestialità, secondo perchè prima di arrivare ad un bug, appunto, devo arrivarci!
Io ora come ora non ho la più pallida idea di come muovermi con i materiali che ho al momento e che ho scritto sopra. Questa è brevemente ciò che vorrei fare:
1) 1. Aprire un server in locale semplice per cominciare i test, semplice, old, new, quello che sia. L'importante è intanto riuscire a loggare.
2. Dove e come implementare il database con i dati stessi che userò io, ovvero id e password, prezzo item e tutto.

Questo è intanto il punto chiave che mi blocca e che non ho ancora capito come fare. Seguono ciò che vorrei fare (esattamente come tutti, seguendo guide su determinati punti che mi servono):
2) Provare alcune funzionalità basi, esempio il key-pressed (F5 o qualunque sia) e azionare un evento.
3) Provare a scrivere semplici quest che givvano qualsiasi cosa in linguaggio LUA.
4) Provare e bestemmiare implementando qualche set, skin, oggetti e qualsiasi cosa.
Diciamo che vanno in ordine di difficoltà, ma intanto mi servirebbe un grande aiuto per il punto 1.
 
Stato
Discussione chiusa ad ulteriori risposte.