Domanda Da dove iniziare per la creazione di un server?

Stato
Discussione chiusa ad ulteriori risposte.

blinkol3

Utente Electrum
28 Giugno 2010
219
52
9
173
Ciao ragazzi,
dopo aver cominciato il primo anno all'università e aver capito (o almeno intuito :D) che l'ingegneria informatica potrebbe essere la mia strada, ho pensato di riprendere il mio progetto di riaprire un server privato.
Avendo ricevuto più scottature in passato (dovute, ahimè, alla mia mancanza di competenza, che mi ha portato a dovermi affidare unicamente ad altri, che non si sono dimostrati abbastanza appassionati o capaci da completare il progetto che avevo in mente), ho deciso di inziare un progetto del tutto autonomo, acquisendo passo passo le competenze necessarie a dar vita al mio server, a strutturarlo e a proteggerlo.
Al momento conosco le basi del linguaggio C (so programmare usando vettori, matrici, input/output da/su file, inserendo argomenti sulla linea di comando ecc.), dell'architettura dei calcolatori, e sto imparando ad usare Linux (che, per quanto mi hanno detto, condivide la maggior parte dei comandi con FreeBSD).
A questo punto vi chiedo:

a)Potreste linkarmi in privato, o, almeno, darmi un riferimento per dei files server aggiornati (quanto più possibile simili all'attuale .it)?
b)Sapreste suggerirmi una buona guida per imparare ad utilizzare FreeBSD? So che sul sito c'è un po' tutto, ma a che livello deve arrivare la mia conoscenza per essere "applicabile" ai files di gioco?
c)Cosa mi consigliate di studiare di preciso? So che i files di gioco sono in C++, quindi sicuramente mi converrebbe andare a dare un'occhiata alle differenze con C (che mi hanno detto essere molte, dato che il linguaggio è a oggetti) e magari a studiarmi il funzionamento delle varie librerie del gioco? Altri suggerimenti?

Grazie a tutti!

P.S.: so che potrebbe non servire ma lo dico comunque. Per favore, rispondete solo se il vostro commento può soddisfare le mie curiosità, e non scrivendo qualcosa tipo "non ne vale la pena", o addirittura "tanto faresti qualcosa di visto e rivisto" .
P.P.S.: credo di aver sbagliato sezione prima: posto qua.
 
Se vuoi usare dei fs compilati,studiati il lua(per fare le varie missioni,quest,etc),il python per la parte client.
Puoi usare semplicemente dei 40k
 
Che intendi di preciso per files server compilati?
E' possibile prenderli non compilati, in modo da poter modificarli e ricompilarli?
 
b)Sapreste suggerirmi una buona guida per imparare ad utilizzare FreeBSD? So che sul sito c'è un po' tutto, ma a che livello deve arrivare la mia conoscenza per essere "applicabile" ai files di gioco?
Utilizzalo come OS principale: togliti di mezzo Windows e inizia ad utilizzare una distribuzione BSD (o, secondo me meglio, Linux - imparato ad usare Linux BSD è semplice). Il vero errore è sperare di imparare ad usare un nuovo OS utilizzando per il 90% del tempo Windows e per il 10% l'altro OS. Per imparare ad utilizzare un sistema operativo è necessario usare solo ed esclusivamente quello per qualche mese.
c)Cosa mi consigliate di studiare di preciso? So che i files di gioco sono in C++, quindi sicuramente mi converrebbe andare a dare un'occhiata alle differenze con C (che mi hanno detto essere molte, dato che il linguaggio è a oggetti) e magari a studiarmi il funzionamento delle varie librerie del gioco? Altri suggerimenti?
A meno che non hai il codice sorgente del server di gioco, puoi modificarlo solo tramite reverse engineering disassemblando il binario del server - per questo serve il linguaggio assembler. Se vuoi imparare il C++ devi prendere un manuale al C++, non è sufficiente studiare solo le differenze con il C. Si tratta comunque di imparare un nuovo linguaggio.


P.S.: non so niente di Metin2 - ho trovato questa discussione semplicemente cazzeggiando nella lista delle discussioni recenti.
 
Utilizzalo come OS principale: togliti di mezzo Windows e inizia ad utilizzare una distribuzione BSD (o, secondo me meglio, Linux - imparato ad usare Linux BSD è semplice). Il vero errore è sperare di imparare ad usare un nuovo OS utilizzando per il 90% del tempo Windows e per il 10% l'altro OS. Per imparare ad utilizzare un sistema operativo è necessario usare solo ed esclusivamente quello per qualche mese.

A meno che non hai il codice sorgente del server di gioco, puoi modificarlo solo tramite reverse engineering disassemblando il binario del server - per questo serve il linguaggio assembler. Se vuoi imparare il C++ devi prendere un manuale al C++, non è sufficiente studiare solo le differenze con il C. Si tratta comunque di imparare un nuovo linguaggio.


P.S.: non so niente di Metin2 - ho trovato questa discussione semplicemente cazzeggiando nella lista delle discussioni recenti.
Possiedo le sources, quindi mi sa che vedrò di prendere un bel manuale di c++ e iniziare a lavorare. Per quanto riguarda freebsd vorrei capire quanto differente sia da linux (che ho installato e uso al posto di windows sul portatile) e a che livello mi serva conoscerlo ai fini del gioco
 
a che livello mi serva conoscerlo ai fini del gioco
Devi amministrare un server - per cui più lo conosci più tempo risparmi e meglio lo amministri. Non c'è un "livello". Da quel poco che vedo da questa sezione, gran parte dei server privati che vengono aperti sono creati da ragazzini che nemmeno sanno che BSD è un sistema operativo.
vorrei capire quanto differente sia da linux
Entrambi derivano da Unix. Per questo sono molto simili in quanto condividono molto scelte di design. Imparato ad usare uno, non avrai difficoltà con l'altro in quanto l'unico passaggio difficile è da Windows ad un sistema unix-derived (che sono completamente diversi). Per ciò che ti interessa, i comandi Linux e quelli BSD sono simili al 99% - possono avere qualche divergenza nell'uso o nell'output che danno, ma sono poche differenze.
 
Devi amministrare un server - per cui più lo conosci più tempo risparmi e meglio lo amministri. Non c'è un "livello". Da quel poco che vedo da questa sezione, gran parte dei server privati che vengono aperti sono creati da ragazzini che nemmeno sanno che BSD è un sistema operativo.

Beh, questo è essenzialmente il motivo per cui i server non durano e cadono al primo attacco. Vorrei essere capace di creare qualcosa per tenerla in piedi.

Entrambi derivano da Unix. Per questo sono molto simili in quanto condividono molto scelte di design. Imparato ad usare uno, non avrai difficoltà con l'altro in quanto l'unico passaggio difficile è da Windows ad un sistema unix-derived (che sono completamente diversi). Per ciò che ti interessa, i comandi Linux e quelli BSD sono simili al 99% - possono avere qualche divergenza nell'uso o nell'output che danno, ma sono poche differenze.

Sapevo derivasse da Unix, ma non avevo idea fosse così simile a Linux. Prenderò due piccioni con una fava continuando a usare (e studiare Kubuntu e cercando di utilizzare al meno possibile la GUI).

Per quanto riguarda il C++, ti senti di consigliarmi qualche libro in particolare? Pensavo di ordinare il Kernighan-Ritchie per il C (ho appena imparato ad utilizzare le strutture, ma il corso è finito; vorrei continuare per conto mio) e il libro di Stroustrup per il C++. Quest'ultimo però me l'hanno descritto come abbastanza astruso e difficile da comprendere, quindi sono abbastanza indeciso.

Ovviamente il C non mi serve ai fini del codice sorgente, ma è cultura personale (che, tra l'altro, mi servirà certamente più avanti, se, come credo, vorrò proseguire con questi studi).
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom