Hogyan készítsd el szerveredet ingyen

Technikai kérdések "Hardver és szoftver

Hogyan készítsd el szerveredet ingyen

És ha egy 13 éves személy, aki egy Mumkin laptop mögött ül, úgy gondolja, hogyan készítheti ingyen a szerverét a játékokhoz. Mi van, ha a teknősbombák, de nincs pénz?
Mi lenne a gyermek, ha nem szabad, ha csak ingyen? Ezért az égő fart eloltjuk a Ngrokkal.

A Ngrok a NAT (vagy más ijesztő szavak) révén a kikötői átirányítás eszköze, amely akár egy 13 éves rohamot is képes kezelni.
A lyukkal ellátott fal egy pukan fátyolos gyulladása, amely a kikötők megnyitásához nem kölcsönt fizet a szolgáltatónak.

Nagyon egyszerű használni. ha terminálparancsokat vezet be neked, egyszerű.
És ha nehéz, akkor itt van a kézikönyv.

1.) Töltse le a ZIP-archívumot és csomagolja ki.


2.) Most meg kell nyitnunk a terminált, és meg kell adnunk a fájl elérési útját (ha túl lusta vagy, írjuk át a fájlt a terminál ablakra).
A fájl elérési útja után hozzá kell adni az indító parancsot is (példát adok egy webszervernek):

Ha a -subdomain kapcsolóval fut

Válassza ki az összes Kódot: -subdomain k0ttee http 80


Megkapjuk az aldomainünket, sokkal könnyebben olvasható: k0ttee.ngrok.com
Csak erre a funkcióra kell regisztrálnia és egyedi tokent kell kapnia.

Hol tartják? Az lokalku! A 127.0.0.1 a számítógépen.

A pukan már égeti le a kiszolgálót, és megmutatja a kerület többi tagjának előtt, de a kérdés továbbra is fennállt: "Mi ez a szopás?"
Ez egyszerű - egy további réteg növeli a ping-et, és a kapcsolat nem vonhatja le az igényes játékokat. A webes szerver alatt govnosayty ping érdemes.

És ami a legfontosabb, ingyenes. 111

Most, ha készen áll a játékszerver, akkor még egy 13 éves személy is képes lesz mondani: "Menj el hozzám, a papom a tűzbe!"
_________________
HyperHost.UA - megbízható és olcsó tárhely!

Röviden, az egész autó, de a fartok 99,9% -a gyullad ki a játékokból. itt van ebben az irányban, és elővigyázatosnak kellett lennie. A ventilátor a hangszeren és a kalapok készítésének őrjöngése.
_________________
HyperHost.UA - megbízható és olcsó tárhely!

Milyen webkiszolgálót helyez az otthoni számítógépre? - ugyanabból a sorozatból, egyszerű, könnyű, érthető, még a moron is.
És hogy könnyedén barátkozott a játék prog-szerverével.


A NGINX-et fel kell tennem, és a játékszerverhez csatlakoznia kell.
_________________
HyperHost.UA - megbízható és olcsó tárhely!

Ha a játék egy olyan webhely, amelyről a böngészőhöz érkezik - bármelyik feleség lesz a localhost-ba.
_________________
HyperHost.UA - megbízható és olcsó tárhely!

21. P.S. (A advansed már): Ha a kódoló telepítéséhez szükséges dop.bibliotek akik node, ez a „kóser” belépés a játék mappájába (konzol cmd, pp.10-11), és a teljesítő ott a következő parancsot: NPM telepíteni <имя_этой_библиотки> --megment
(szögletes zárójelek nélkül, és a kötelező postscript --save paranccsal, ne felejtsd el írni egy parancsot az Enter megnyomásához))

P.P.S. Sam mindent megitatta, 3. nap
P.P.P.S. A komolyabb fejleményekhez természetesen a világipar minden ilyen apaches, denveres, php, c ++, és így tovább használ.

proj \ sr.js (szerver játékszerver):

A tipikus webszerver (statikus) a 8080-as porton (weblapot ad az ügyfélböngészőnek)

Válassza ki az összeset Kód: var http = require ('http');
var static = require ('node-static');

// Hozzon létre egy csomópont-statikus kiszolgáló példányt a './public' mappát
// Hozzon létre egy webszervert (amely az ügyfél weboldala adatait az "public" alkönyvtárból veszi át, és ezt a weboldalt az ügyfél böngészőjébe továbbítja)

var file = új static.Server ('./ public', ); // a "gyorsítótár" konfigurációban letiltotta a webszerver által az ügyfélböngésző által kiadott weboldalak gyorsítótárazását

http.createServer (függvény (kérelem, válasz)

request.addListener ('end', function ()
file.serve (kérelem, válasz); // Serve files! - az ügyfél böngészőjének ("kérés") szolgáltatási kéréseit választjuk ("válasz")
>) folytatódik (); hozzáadott ügyfél kérés hallgató - funkció

>) hallgatni (8080); // a webszerver "figyeli" (lenene) a 8080-as porton

A tiszta internetes csatlakozók szervere a 8081-es porton (a tiszta webszalagok rendszeres weboldalak, a socket.io könyvtárak használata nélkül)

Válassza ki az összeset Kód: var WebSocketServer = new require ('ws');
var webSocketServer = új WebSocketServer.Server (); // webszerver-kiszolgáló "figyeli" (lenene) a 8081-es porton

var clients = <>; // tömb - ügyfelek csatlakoznak a webszerver kiszolgálóhoz

webSocketServer.on ('kapcsolat', függvény (ws) // beállítja a függvényt a webcenter ügyfél kapcsolat esemény feldolgozásához
var id = Math.random (); // Véletlenszerűen generált "új ügyfél azonosítója"
ügyfelek # 91; id # 93; = ws; // "feltölti" az új kliens webkapcsolatának adatait, az indexek idézi az ügyfelek tömbjét
console.log ("Új webkapcsolatunk van:" + ws + ", az ügyfélnek a következő azonosítója van:" + id "; // leiratkozott a kiszolgáló konzolra

clients # 91; id # 93; .send ("A webszerver kiszolgáló megmondja az ügyfélazonosítót:" + id); // küldje el az új ügyfelünknek, egy üzenetet

// az ügyféllel való érkezés eseménykezelője - beállítjuk az eseményt feldolgozó függvényt
ws.on ('üzenet', funkció (üzenet)
a (var kulcs a klienseknél) // rendezheti az ügyfelek sorát
ha (ügyfelek # 91, 93-as kulcs == ws) // ha ez a jelenlegi ügyfélünk
console.log ('Az ügyféltől (' + key + ') megkapta az üzenetet:' + üzenet); // leiratkozott a kiszolgáló konzolra
# 91; 93. kulcs; .send ('A webszerver válaszol az üzenetére, az ügyfélre (' + kulcs + '): a következő üzenetet kapta:' + üzenet); // küldjön válasz üzenetet az ügyfélnek
>
>
>);

// az eseménykezelő, amikor az ügyfél lekapcsolódott - állítsa be az eseményt kezelő függvényt
ws.on ('close', function ()
console.log ('Zárt ügyfélkapcsolat (' + id + ')'); // leiratkozott a kiszolgáló konzolra
törölje az ügyfeleket # 91; id # 93 ;; // törölje a letiltott klienst az ügyfél tömbből
>);

>); // a webes kliens webhely kapcsolat eseményeit feldolgozó függvény vége

További kiszolgálói kód

Válaszd ki az összes kódot: console.log ("A kiszolgáló a 8080-as portokon (statikus csomópontokon keresztül), 8081 (tiszta web-aljzatok) fut");

proj \ public \ index.html (az ügyfél weboldala, amelyet a statikus webszerver az ügyfél böngészőjéhez szállít):

Válassza ki az összes kódot:






A böngészőnek támogatnia kell a HTML5 használatát a játék futtatásához

Játékunk

A böngészőnek támogatnia kell a HTML5 használatát a játék futtatásához
- készítsen vászonképet (és ha a böngésző nem támogatja, a böngésző ezt írja)


- program kliens játékokat, ezen a kliens weboldalon, vászonra rajzolva


- hívja fel a kliens játékprogram funkcióját

proj \ public \ cl.js (a kliens program a kliens weboldalán, vászonra rajzolva):

Webcsatlakozók (tiszta, a socket.io könyvtárak használata nélkül)

Válassza ki az összeset Code: if (! Window.WebSocket) // ha ügyfélböngészőnk nem támogatja a tiszta weboldalakat
document.body.innerHTML = 'A WebSocket nem támogatott ebben a böngészőben.';
>

// hozzon létre egy webalapú kapcsolatot
var socket = új WebSocket ( "# 91; color = # FF0000 # 93; WS: //0c4807fc.ngrok.io#91; / színes # 93;");

// a bejövő üzenetek kezelője (websocket szerverről)
socket.onmessage = függvény (esemény)
var incomingMessage = event.data;
riasztás (bejövő üzenet);
>;

Válassza ki az összes kódot: window.addEventListener ('átméretezés', redrawCanv, false);
window.addEventListener ('orientationchange', redrawCanv, hamis);

Válassza ki az összes kódot: // vontassa át a vásznat
függvény redrawCanv ()
cnv = document.querySelector ('vászon');
cnv.setAttribute ('width', okrc (window.innerWidth * 0.98));
cnv.setAttribute ('magasság', okrc (window.innerHeight * 0.98));

ctx = cnv.getContext ('2d');
fontSize = okrc (cnv.width / 100);
ctx.font = '' + fontSize + 'px calibri';
fontHeight = okrc (fontSize * 0.8);

//. Ezután itt található a kliens kép vászonkép rajzolásának kódja

mo =; // az egérmutató koordinátái
cnv.addEventListener ("mousemove", onMouseMove, hamis); // hozzon létre egy egérmozgás figyelőt
cnv.addEventListener ("kattintás", onClick, hamis); // hozza létre az egér kattintóját (kattintás vagy egérkattintás)
>

Válassza ki az összes kódot: // Kerekítés le egészen
függvény okrc (n)
mr = Math.round (n);
ha (mr return mr-1
>

// az egérmozgások hallgatója
funkció onMouseMove (e)
mo.x = e.clientX - cnv.offsetLeft;
mo.y = e.clientY - cnv.offsetTop;

ha (mo.x> = gr.plr.hand.x mo.x <= gr.plr.hand.xe && mo.y>= gr.plr.hand.y mo.y <= gr.plr.hand.ye)
var cur = plr.hand.cur;
ha (! (mo.x> = pl.hand.cards # 91; cur # 93; .x mo.x <= plr.hand.cards[cur].xe && mo.y>= plr.hand.cards # 91; cur # 93; .y mo.y <= plr.hand.cards[cur].ye))
var ikol = pl.hand.cards.hossz - 1;
a (var i = 0; i <= ikol; i++)
ha (mo.x> = pl.hand.cards # 91; i # 93; .x mo.x <= plr.hand.cards[i].xe && mo.y>= plr.hand.cards # 91; i # 93; .y mo.y <= plr.hand.cards[i].ye)
plr.hand.cur = i;
drawCard (pl.hand.cards # 91; i # 93;);
break;
>
>
>
>
>;

// az egér kattintásainak száma (lkm vagy cms)
funkció onClick (e)
outgoingMessage = "kattintson az egérrel: # 91; x: "+ mo.x +" | y: "+ mo.y +" # 93; ";
socket.send (outgoingMessage);

8. A sr.js kódban a munkát HTTP-vel használtuk. Ezért telepítjük a könyvtárhoz tartozó csomópontot, amelyet a kódban használunk:
9. Megnyílik a parancskonzol (cmd).
10. Ez megy (a cd parancsok segítségével) az apu proj-ben
11. Miután eljött az apához. írja be a parancsot:
npm telepítse a http --save fájlt
(nyomja meg az Enter billentyűt)
- a proj könyvtárban a "node_modules" alkönyvtárnak kell megjelennie

12. Égboltba indítás:
13. Program ngrok, tegye az azonos papa proj könyvtárban (a gyökér) - büszke arra, hogy megmutassuk újdonsült servaku játékok (és webszerver-statikv őt és vebsoket szerver sem) Ineta segítséget ez a program.

14. Megnyílik a parancskonzol (cmd).
15. Ez megy (a cd parancsok segítségével) az apu proj-ben
16. Miután jött az apához. írja be a parancsot:
ngrok http 8080
(és nyomja meg az Enter billentyűt)
- hurrá, a 8080-as port (statikus webszerver) az internetre kerül!

17. Egy másik parancskonzolt (cmd) nyit.
18. A CD-parancsok használata az apu projektben történik
19. Miután eljött az apához. írja be a parancsot:
a http 8081-et
(és nyomja meg az Enter billentyűt)
- hurrá, a 8081-es portot (webszerver) az internetre dobják!

22. Még egy (már, harmadik) parancskonzolt (cmd) nyit.
23. A CD-parancsok használatával az apu proj-ben található
24. Miután az apához jöttél. írja be a parancsot:
csomópont sr.js
(és nyomja meg az Enter billentyűt)
- hurrá, játékszerverünk fut (ugyanaz, és a webszerver statika egyidejűleg - ugyanaz, és a webszerver aljzatai kombinálva)
(és magasabbak a csúcsok, dobták ki portjait - a webszerver port statikus, 8080 - és a 8081-es internetes portok portja is)

35. P.S. (A advansed már): Ha a kódoló telepítéséhez szükséges dop.bibliotek akik node, ez a „kóser” belépés a játék mappájába (konzol cmd, pp.10-11), és a teljesítő ott a következő parancsot: NPM telepíteni <имя_этой_библиотки> --megment
(szögletes zárójelek nélkül, és a kötelező postscript --save paranccsal, ne felejtsd el írni egy parancsot az Enter megnyomásához))
36. P. P. S. Korlátozza a két port (8080 és 8081 a példában) helyett csak egy portot (lóg rajta, és a webszerver a statika, és a webszerver-kiszolgáló) - NE!

Kapcsolódó cikkek