Guida Guida su come crearsi un "dedicato in casa" No-IP DDNS

Stato
Discussione chiusa ad ulteriori risposte.

Santantonio

Utente Silver
14 Marzo 2011
90
1
19
66
Ultima modifica da un moderatore:
Guida su come crearsi un "dedicato in casa" No-IP DDNS

Salve a tutti voi, visto che in giro ho trovato ben poche guide su questo argomento, ne ho creata una io nella speranza di poter aiutare chiunque voglia crearsi in casa un serverino di Metin2 da tenere sempre acceso. Le mie fonti sono prese sia da Elitepvpers, da qui e da esperienza personale maturata dopo qualche mese di prove varie.
Quello che serve essenzialmente è:


-File server che volete
-Client facilmente modificabile (Io ho usato quello di Gherusio e Profeta)
-Immagine ISO di FreeBSD (consiglo quella di FreeBSD 8.3 32bit, scaricabile qui: http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/8.3/FreeBSD-8.3-RELEASE-i386-dvd1.iso ) ch sarà poi da masterizzare su DVD. Windows 7 integra di per sè un'ottima utility per scriverle; basta cliccare col destro sull'immagine del disco e selezionare "Scrivi"
-Componenti per costruirsi un pc da soli (case, alimentatore, scheda madre, processore -2 core bastano- 4 GB di ram -32 bit non ne gestisce di piu-, un disco fisso a vostra scelta, da 80/100 GB in su basta ed avanza. Non serve mouse, ma monitor si
-Connessione adsl possibilmente con velocità di invio di almeno 384Kb/s (la classica Alice 7 Mb/s ne ha 400, Alice 10Mb ne ha 1000)
-Winscp (qui l'ultima versione: WinSCP :: Download )
-Navicat (download qui il trial di 30 giorni di prova: Navicat for MySQL )
-Modem configurabile con virtual server (Alcuni modelli di Fastweb non sono configurabili nemmeno dalla MyFastPage, provate a chiamare Fastweb chiedendogli di aprirvi le porte o di aggiornarvi il modem, ma non di farvi un'ip statico, perchè ve lo fanno pagare). Sul modem vanno poi aperte le porte (alcuni come D-link e Netgear non danno l'accesso finchè non viene configurato il firewall. In questo caso, bisogna come minimo aprire la porta 80, poi tutte le altre del gioco che sono la 11000, 11002, 12000, 13000, 13002, 13099, 14000, 14002, 14099, 15000, La China 50000 dovrebbe essere la porta che abilita la funzionalità di "test" del server, facendo diventare tutti GM, io non l'ho abilitata e mi va lo stesso tutto ok; protocolli tutti o comunque TCP + UDP. NON serve aprirne altre, perchè queste sono quelle dell'accesso dall'esterno; dalla rete locale avrete accesso a tutte)
-Account NO-IP, Dyndns o chiunque vi fornisca un servizio DDNS SUPPORTATO DAL MODEM (molti supportano appunto uno oppure solo questi 2)
-Un database funzionante (personalmente ho preso quello che usavo come test per il server di PanicFear, ma nessuno vi vieta di prenderne uno da un'immagine di un "server rapido" come quelli che usano Virtualbox + Hamachi)
-Tempo libero (5-6 ore ad andare bene) e tanta, ma tanta pazienza

Ora passiamo all'atto pratico, se mi dimentico qualcosa chiedete che appena posso correggo. Soprattutto, SEGUIRE FEDELMENTE l'ordine, perchè l'inversione di un passaggio provoca dei malfunzionamenti

Primissima cosa: attivate il servizio DDNS sul modem. Dovreste avere una pagina chiamata DDNS appunto in cui dovrete mettere i vostri dati di accesso al servizio. DDNS significa Dynamic Domain Network Service, e vi spiego cos'è: Nelle connessioni ADSL casalinghe, l'indirizzo IP della vostra connessione cambia dopo ogni riavvio del modem, dopo un pò di tempo in cui nessuno è connesso o semplicemente dopo un pò di tempo, rendendo impossibile una connessione stabile ad un determinato pc (a me personalmente cambia 3-4 volte al giorno)
Il DDNS rende disponibile un'indirizzo a vostra scelta ma deve essere impostato sul modem. Quest'ultimo, all'avvio o ad ogni cambio di connessione, si collega al servizio dicendogli in pratica "il mio ip adesso è questo", in modo che digitando quell'indirizzo, risponda il vostro modem e di conseguenza il pc a cui avrete reindirizzato la connessione
Dopo essersi creati il pc (oppure, per fare prove, aver creato con Virtualbox un pc con FreeBSD 8), installare FreeBSD dal cd. Normalmente il primo dispositivo che si avvia su un qualunque pc è il disco fisso 0, dovremmo però questa volta far avviare il pc dal cd-rom / dvd-rom. Accendete il pc ed andate sul bios (normalmente premendo il tasto CANC, DEL, F2, F12 oppure F10... in base al vostro pc), andate sulla sezione boot e cambiate i parametri di avvio. Anzichè il primo disco fisso, va impostato il lettore che avete; normalmente poi basta fare esci e salva. Al riavvio ora partirà il lettore con ovviamente il disco inserito dentro. Avviare il pc e scegliere innanzitutto l'installazione completa (vengono sistemati anche i file relativi al famigerato errore "Python27" dovuto alle librerie non aggiornate). Al primo riavvio potrete reimpostare l'avvio sul disco fisso 0, com'era prima
Una volta finita l'installazione, settare la propria password di root (fatela bella complicata). Noterete che non viene scritta... FreeBSD è cosi. Ora, come primo consiglio, sistemate immediatamente la tastiera. Dopo aver messo la password di root, scrivete sysinstall coi tasti che trovate (dovreste aver invertiti y ed x) ed andate su keymap. Impostate l'italiano.
Ora: primo test di connessione: scrivete "ping: www.google.com" e date invio, se avrete delle risposte (in genere dopo qualche decina di millisecondi) significa che la rete e la connessione ad internet sono ok. In caso contrario siamo davanti ad un blocco da parte di qualcosa. Scheda di rete non riconosciuta, Fastweb che blocca il 4° pc in rete, antenne wi fi che fanno da server dhcp insieme al modem, cose cosi.... Potreste dover abbandonare l'impresa appena arrivati a questo punto.
Secondo passaggio: impostate il modem in modo che al pc con cui volete creare il server, venga sempre associato lo stesso indirizzo IP. Normalmente sta sulle impostazioni DHCP, dovreste avere un a pagina in cui dovrete mettere un determinato indirizzo MAC e specificargli l'indirizzo IP corrispondente. L'indirizzo MAC della scheda di rete potrete leggerlo all'avvio del pc-FreeBSD, a fianco alla scritta "ether", è una lista di 6 valori doppi separati da ":" il cui il valore piu alto è FF.
Per la precisione, l'indirizzo MAC (MACHINE ADDRESS) è univoco nel mondo, non esistono 2 schede di rete con lo stesso. Sfruttando questo, il modem gli assegna l'ip che decidete voi. Una volta sistemato, riavviate il pc.
Al riavvio, dopo la password, andate di nuovo su sysinstall, configure e network. Vi verrà richiesto se procedere con una scansione DHCP, cliccate OK sia su ipv6 che su ipv4, poi controllate sulla schermata che appare, se i valori sono giusti. In caso di modifiche, premere invio per passare al campo successivo.
Se avrete un servizio DDNS chiamato "tiziocaio.dyndns.org", dovrete mettere sulla prima casella in alto a sinistra l'indirizzo completo, su quella di destra solo l'estensione dopo il "." (nell'esempio, dovrete mettere "dyndns.org"), sotto a sinistra l'indirizzo IP del pc, a destra la "subnet mask" (di solito, 255.255.255.0) Non dovete mettere HTTP in nessun posto
Ora abilitiamo l'accesso al pc da un'altro pc della rete locale usando programmi come Winscp o Filezilla. Dovrete modificare un file di testo e su FreeBSD si modificano scrivendo "ee" prima della posizione /nome file. Nel nostro caso, per abilitare l'accesso, bisogna modificare il file sshd_config digitando:

# ee etc/ssh/sshd_config

Qui vedrete che molte righe sono anticipate da un #, significa che sono prese come commento / promemoria. A noi interessa modificare solamente 2 valori:

#port 22 -Mettiamo il valore della porta di accesso per winscp, a nostro piacimento (consiglio sopra la 50000. Le porte sono valori di accesso che vanno da 1 a 65535). Per esempio, potremmo riscrivere "port 55000" ( senza # davanti) in modo da avere l'accesso da winscp in rete locale sulla porta 55000 anzichè sulla default 22

#PermitRootLogin NO -Per chi sà un pò di inglese, significa "Permetti accesso root" NO. Modifichiamo in modo da avere accesso a tutto il pc da remoto. Scriveremo PermitRootLogin YES, sempre senza #

Ora riavviamo il pc e mettiamoci belli comodi davanti al vostro pc "solito", perchè tra poco comincia il bello. Dopo il riavvio dovreste essere in grado di accedere tramite Winscp/Filezilla impostando come dati di accesso "root" e la vostra password, e come porta quella che avrete messo sopra. (nell'esempio, 55000)

Adesso inizia la parte piu "pesante", presa da Elitepvpers qui ( [Release]Install a Web dedicated server + Metin2 ) e riarrangiata. Aprite ed accedete con Winscp/Filezilla, poi andate su Comandi ed aprite Putty (che, se non ce l'avete gia installato, è scaricabile da qui: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe ). Mettete la vostra password.

Ora digitate i comandi:

tiziocaio# portsnap fetch extract (scompatterà dei file, aspettiamo che finisca)
tiziocaio# portsnap fetch update (aggiorna file, aspettiamo che finisca)

Ora installiamo mysql:

tiziocaio# cd /usr/ports/databases/mysql55-server/

tiziocaio# make WITH_XCHARSET=all install clean

Modifichiamo un file di avvio (un pò come il buon vecchio autoexec.bat di windows 98)

tiziocaio# ee etc/rc.conf

ed aggiungiamo infondo la riga

tiziocaio# mysql_enable="YES"

Così facendo, all'avvio, verrà avviato anche il servizio mysql (gestione database).

Riavviate pc, dovrebbe comparirvi la scritta "starting mysql" insieme alle altre all'avvio

Ora diamo i privilegi di accesso per mysql

tiziocaio# mysql -u root -p

Alla richiesta di password, cliccate invio (password assente originariamente. Non è la stessa di root)

Ora, impostiamo gli accessi a root ed al gioco metin2 scrivendo tutta sta roba:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'vostrapassword' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mt2'@'localhost' IDENTIFIED BY 'mt2!@#' WITH GRANT OPTION;
mysql> Flush privileges;
mysql> quit

(ricordatevi il ";" finale nelle righe e ricordatevi di mettere la password che userete per il database)

Ora installiamo Apache22 per la gestione dello spazio web: andiamo nella cartella

tiziocaio# cd /usr/ports/www/apache22

eppoi diamo il comando

tiziocaio# make install clean

Ora andiamo a dire al pc che all'avvio deve avviare anche Apache. Solito file di prima:

tiziocaio# ee /etc/rc.conf

Ed aggiungiamo in fondo

apache22_enable="YES"

Ora installiamo php5:

tiziocaio# cd /usr/ports/lang/php5
tiziocaio# make config (selezionare eventuali voci Apache che compaiono)
tiziocaio# make install clean

Installiamo php5-extensions:

tiziocaio# cd /usr/ports/lang/php5-extensions
tiziocaio# make config

Selezionare le voci riguardanti Mysql eppoi

tiziocaio# make install clean

Ora va creato un modulo per php5, andiamo con winscp sulla cartella /usr/local/etc/apache22/Includes/ e creiamo un file chiamato php5.conf. All'interno scriviamo questo:

<IfModule mime_module>
<IfModule php4_module>
AddType application/x-httpd-php .php
</IfModule>
<IfModule php5_module>
AddType application/x-httpd-php .php
</IfModule>
</IfModule>

e salviamo. Ora modifichiamo un file, chiamato httpd.conf e che sta sotto /usr/local/etc/apache22/. Cerchiamo la stringa dove c'è scritto

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

e la sostituiamo con questa:

<IfModule dir_module>
<IfModule php5_module>
DirectoryIndex index.php index.html
</IfModule>
<IfModule !php5_module>
<IfModule php4_module>
DirectoryIndex index.php index.html
</IfModule>
<IfModule !php4_module>
DirectoryIndex index.html
</IfModule>
</IfModule>
</IfModule>

Ora possiamo fare 2 cose (io suggerisco la prima): riavvio pc per attivare tutti i servizi, o avviare Apache con il comando /usr/local/etc/rc.d/apache22 start
In entrambi i casi, andando da un browser sull'indirizzo DDNS che abbiamo (oppure, al limite, all'indirizzo IP del pc), dovremmo vedere comparire la scritta "It works"
Il web server è pronto, i dati della pagina del sito andranno messi sotto la cartella /usr/local/www/apache22/data/. Ci troverete gia un file chiamato index.html e, se lo aprirete, troverete il codice per la scritta "It works!"
Avrete capito da voi che, in quella cartella, potrete metterci tutto quello che volete rendere disponibile nella pagina iniziale del vostro server, che siano file da scaricare, immagini, quello che volete. Nel mio caso c'ho messo la pagina di presentazione, di registrazione, la cartella news, download ed i file per l'autopatcher

Ora passiamo al gioco: a me è successo che, copiando la cartella "game" nel server, alcuni file si siano corrotti. Mi sono ritrovato con dei file da 15-18 byte senza icona ed il gioco non partiva. Aprendoli, c'erano scritto degli indirizzi di collegamento, ho provato a toglierli, copiando prima il link che c'era dentro, creando n collegamento con lo stesso nome del file e con "puntamento" nella stessa posizione di prima. Tutto risolto.
Spero che, arrivati a questo punto, sappiate da soli come configurare i file CONFIG della cartelle game ed il file conf.txt della cartella DB. Ricordatevi sempre di cambiare le proprietà della cartella di gioco cliccando col destro sulla cartella game, impostando 0777 e selezionando "imposta gruppo, proprietario e permessi ricorsivamente"
A questo punto, come ulteriore sicurezza, io consiglio di cambiare le porte del database. Serve un file chiamato "my.cnf" che, su FreeBSD, inizialmnte non si trova. In realtà stanno qui:

/usr/local/share/mysql/my-large.cnf - per siti con parecchi accessi
/usr/local/share/mysql/my-medium.cnf - per siti con buon accesso di utenti
/usr/local/share/mysql/my-small.cnf - per testare le funzioni

Va preso il file che ci interessa (consiglio il medium) e rinominato in my.cnf. Lo editiamo modificando le righe che ci interessano (la porta del database la modifichiamo e cambiamo dalla 3306 a quella che ci pare, basta che ce lo ricordiamo su Navicat e che non sia tra quelle aperte del modem). Nel caso del medium, è la riga 27 quella che ci interessa. Salviamo il file, lo copiamo nella cartella "/usr/local/etc/", rinominiamo in "my.cnf" e riavviamo pc.
Ora apriamo Navicat, creiamo una nuova connessione, mettiamo i dati del nostro pc e, per stare tranquilli, possiamo provare tutte e due le cose: 1: mettiamo come IP, l'ip locale del nostro server (192.168.1.x, quello che avete messo voi), mettiamo la porta che avrete deciso voi e la connessione dovrebbe gia andare bene. 2: Proviamo ora col DDNS. anzichè mettere l'IP del pc, mettiamo l'indirizzo web:
Nel nostro esempio, era "tiziocaio.dyndns.org" e la stessa porta di prima. La connessione NON deve esserci, in caso contrario, qualcosa sulla configurazione delle porte del modem è andato storto.

A me ne sono successe tante e bene o male ho sistemato tutto da solo. Avrete notato che non ho messo il modo per cambiare la password del database (mysql); non mi ricordo la procedura precisa. Dovrebbe bastare dare il comando "mysql -u root -p password xxxxx", dove al posto delle xxxxx va messa la nuova password, ma non sono sicuro funzioni
All'avvio del server, avevo un paio di "noie": una grave (crash dei core, pool.h, error 41, una cosa cosi), l'altra evidenziata dai sysolg (tentativo di connessione ad un'IP 217. qualcosa, sconosciuto). La seconda l'ho risolta nello stesso modo del cambio pong: ho cercato quell'ip nei file del gioco e l'ho cambiato con quello del pc stesso, ottenendo un'avvio del gioco molto piu rapido. Noterete che nei file del gioco vanno messi i numeri dell'ip in formato "esteso", nel senso che, se devo mettere per esempio, 192.168.1.100, dovrò scrivere 192.168.001.100,
Il primo problema è stata una tragedia: non capivo cosa potesse essere. Alla fine ho scoperto che 1 spazio in piu sui file regen delle mappe, dà quell'errore.

Appena posso aggiorno

- - - Updated - - -
 
Ultima modifica:
Siccome la guida l'ho fatta "a pezzi" causa temporale in corso, potrei aver saltato qualcosa.

Aggiungerò degli screen per semplificare un pò
 
Ultima modifica:
Visto che tra lavoro e temporali, solo oggi sono riuscito a liberarmi un pò, provo a finire la discussione

Vantaggi di un sistema simile:

-Pc dedicato totalmente indipendente da altri di utilizzo comune (se uno vuole continuare a fare i cavoli suoi col pc principale, giocare, chattare, riavviarlo causa driver o programmi vari, non c'è problema)

-Porte protette tramite firewall del modem. Non so voi, ma quando ho creato un mio dedicato in olanda, circa un'anno fa, non ero certo delle protezioni, tantomeno del firewall. In questo caso invece avete tutto completamente sottomano ed accessibile da qualunque pc. Il modem blocca l'accesso ad altre porte dall'esterno

-In caso di modifiche non andate a buon fine, tramite Winscp/Filezilla potete ripristinare tutto in poco tempo senza paura di rimanere disconnessi e di dover formattare tutto. La velocità della rete locale è decisamente piu alta dell'adsl, ci vuole poco a caricare i file necessari e potete testarveli "al volo"

Svantaggi:

-Ovviamente non tutti hanno la mia passione nel costruirsi pc e nell'avere componenti a spasso. Per quanto la spesa sia piccola, si parla sempre di qualche centinaio di euro per tutto. E non tutti sono in grado di costruirsi / configurarsi un pc, tantomeno con FreeBSD, che è un sistema operativo decisamente piu complesso di Windows / Virtualbox

-Connessione lenta. La velocità dell'adsl, nel migliore dei casi, è di 1Mb/s in upload; se create mappe con vari mob e ci vanno gia 3-4 player, lagga pesantemente
 
Teoricamente si, non dovrebbero esserci problemi... Ma dovresti usarlo solo ed esclusivamente per quello. E raffreddarlo bene (tenerlo alzato da terra). Il mio fisso è al momento spalancato e messo per terra, sta piu fresco
 
Perfetto. Dò già per scontato che si parla di un progetto, di una cosa che non capita di fare tutti i giorni, quindi è normale che poca gente guardi questa discussione. Peraltro il tutto è anche parecchio complicato, non si tratta di un server rapido da usare con Virtualbox + immagine vhd.
 
Eh beh, ci mancherebbe... Io però l'anno scorso avevo preso un server dedicato dalla Worldstream, teoricamente avrebbe dovuto avere un Core i7... Ma tra lag e tutto, ho avuto sempre forti dubbi che ci abbiano messo quello che avevo chiesto. Però per una ventina di giocatori, sia in lan che internet, va piu che bene. Anche l'Hamachi soffre lo stesso problema
 
Re: Guida su come crearsi un &quot;dedicato in casa&quot; No-IP DDNS

Eh beh, ci mancherebbe... Io però l'anno scorso avevo preso un server dedicato dalla Worldstream, teoricamente avrebbe dovuto avere un Core i7... Ma tra lag e tutto, ho avuto sempre forti dubbi che ci abbiano messo quello che avevo chiesto. Però per una ventina di giocatori, sia in lan che internet, va piu che bene. Anche l'Hamachi soffre lo stesso problema

Beh alla fine l'unico problema è appunto la connessione, e alla fine si devono spendere 2-300 euro di pezzi per un pc dedicato
che userà la linea di casa quindi in caso di attacchi dos ne risentira il pc dove tu giochi normalmente...
E con 300 euro puoi benissimo avere un dedicato per anni con le caratteristiche da te riportate e sicuramente con una connessione migliore, magari questa osa va bene per minecraft...

- - - Updated - - -

Poi se hai dei pc vecchi da buttare, sicuramente la cosa migliore da fare è questa, un ottima cosa ;)
 
Fammi capire e online 24/24 come un dedicato e non bisogna tenere sempre il pc acceso ma solo il modem o cosa?
Comunque molto meglio un dedicato:omfg:

P.s. Bravo.
 
Grazie, ma molte righe, come scritto sopra, le ho riprese da Elitepvpers con dei semplici copia - incolla. Un dedicato decente io l'avevo trovato a 108 euro al mese... Io l'ho fatto perchè ho vari pezzi in giro per la soffitta, praticamente tengo acceso ciò che normalmente è spento. No Xarishflar, non è solo il modem da tenere acceso, si tratta di costruirsi un pc in cui installare e configurare FreeBSD 8.3 al posto di windows o altro, configurare modem, ddns e gioco. Siccome il server non gestisce grafica, ma solo dati e rete, non serve molta potenza, quindi bastano cpu "leggere"
 
Purtroppo siamo tutti fissati con i dedicati online :asd:
Ma comunque, se si ha un pc fermo e vecchiotto, si potrebbe creare sto dedicato anche per far una partitella con gli amici :D
 
Eh beh, in fondo è una guida su come rendere "reale" un virtual server di quelli che si scaricano. Magari tanti scaricano, avviano, ma non sanno manco quanto ci vuole per metterli a puntino (ed il mio ancora NON è a puntino). Per questo tipo di server non serve Portmap, non ci sono problemi di firewall di windows ed altro, e' un dedicato a tutti gli effetti con il limite della connessione casalinga. Ognuno se lo gestisce come vuole e non serve mandare mail con scritto "mi formatta il server con freebsd" in caso di mancata connessione al riavvio. Abbiamo tutto a portata di mano ....
 
Stato
Discussione chiusa ad ulteriori risposte.