Как сделать свой сервер для игр бесплатно


Как сделать свой сервер для игр бесплатно

Сообщение k0ttee »

Сервер - удовольствие платное, мощный сервер - удовольствие дорогое.
Даже поставив его дома (на кухне из старого компа), придется доплачивать провайдеру за открытие нужных портов.

А если 13-летняя личность, сидя за мамкиным ноутбуком, думает как сделать свой сервер для игр бесплатно? Что если пукан бомбит, а денег нет?
Чем бы дитё не тешилось, лишь бы бесплатно! :rolf: Поэтому будем тушить пылающие пердаки с помощью Ngrok.

Ngrok - средство проброса портов через NAT (или другие страшные слова), с которым справится даже бомбящий 13-летний пукан.
Стена с дыркой это завуалированное воспламенение пукана, что за открытие портов можно не платить бабло провайдеру.
webhooks.png
как сделать свой сервер для игр
webhooks.png (134.79 КБ) Просмотров: 743


Изделие существует для многих платформ:
1.) OS X (кошерно)
2.) Windows (не кошерно)
3.) Linux (x86 x64 бубунту... все сложно)
4.) Linux ARM (а значит можно засадить чуть ли не в прошивку роутера или старого смартфона)
5.) FreeBSD (ну как же мы без фряхи)

Пользоваться довольно просто... если гонять терминальные команды для вас просто.
А если сложно, тогда вот инструкция.

1.) Скачиваем ZIP-архив и распаковываем.
1.png
скачиваем архив
1.png (28.9 КБ) Просмотров: 743

2.) Теперь надо открыть терминал и написать путь к файлу (если лень писать - перетянуть файл в окно терминала).
Еще надо дописать команду запуска (я даю пример для веб-сервера) дописать после пути к файлу надо:
Код: Выделить всё
http 80

2.png
открываем терминал
2.png (5.42 КБ) Просмотров: 743

3.) По нажатию Enter команда выполняется и ваша ПеКарня превращается в сервер видимый из интернета.
Выглядит это как-то так... Лабуда не читаемая на поддомене ngrok.io это адрес сайта который будет открываться.
Код: Выделить всё
http://ae65a92a.ngrok.io

3.png
настройка сервера
3.png (18.04 КБ) Просмотров: 743


Если запустить с ключом -subdomain
Код: Выделить всё
-subdomain k0ttee http 80

Получим свой поддомен, более удобно-читаемый: k0ttee.ngrok.com
Только для этой функции придется зарегистрироваться и получить уникальный токен.

Куда проводится? На локалку! На 127.0.0.1 в вашем компе.

Через 3G телефон смог зайти на сайт (сайт сидит в ноуте подключенном к интернету через Wi-Fi). Думаю после такой проверки сомнений остаться не должно.
test.png
настройка игрового сервера у себя на пк
test.png (212.32 КБ) Просмотров: 743


Ежели дописать еще немного адресации, можно направить на другой комп в домашней локалке.
Помощь по командам выводится если запустить с ключом -help
Код: Выделить всё
-help


Ваш пукан уже горит запилить сервер и выпендриваться перед остальными посанами на районе, но остался вопрос: "А в чем отстой?"
Все просто - дополнительная прослойка увеличивает пинг и соединение может не вытягивать требовательные игрушки. Для веб-сервера под говносайты пинг достойный.
4.png
4.png (18.58 КБ) Просмотров: 743


А шо главное - бесплатно!!!111

Теперь, если сервер игры уже готов, даже 13-летняя личность сможет заявить: "Го ко мне, моя попа в огне, я создал!" :rolf:


За это сообщение автора k0ttee поблагодарил:
birds
Аватара пользователя
k0ttee

 
Группа: Супермодераторы
Сообщения: 6331
Рефералы: 2
Зарегистрирован: 02 май 2014
Средств на руках: 113.40
Статус: вертел
Спонсор
 
Re: Как сделать свой сервер для игр бесплатно

Сообщение Tehnik »

А что мешает напрямую создать сервер? Та же самая контра или дота прекрасно создаются прямо из игры.
Аватара пользователя
Tehnik

 
Группа: Специалист ruSEO
Сообщения: 3528
Зарегистрирован: 08 май 2015
Откуда: Русь
Средств на руках: 5.55
Статус: Писатель
Спонсор
 
Re: Как сделать свой сервер для игр бесплатно

Сообщение k0ttee »

прямо из игры

Таки не везде такая реализация.
Таки можно создать кухонный майнкрафт-сервер и барыжить им.
Таки можно сделать вообще любой сервер, не только игровой но и VPN и проксить друг-друга для кликов по рекламе.

Короче возможностей целый вагон, но 99.9% пуканов воспламеняются именно от игр... вот в эту сторону и пришлось сделать уклон. Фан в инструменте и угаре от написания шапки.
Аватара пользователя
k0ttee

 
Группа: Супермодераторы
Сообщения: 6331
Рефералы: 2
Зарегистрирован: 02 май 2014
Средств на руках: 113.40
Статус: вертел
Спонсор
 
Re: Как сделать свой сервер для игр бесплатно

Сообщение SilverSurfer »

Добрый день
У меня вовсю уже бомбит - разрабатываю (программирую) клиент-серверную онлайн-игру
Пока, сервер её будет на моём домашнем компе
Развернул ngrok на нём
Теперь нужен ваш совет
Какой именно веб-сервер поставить на свой домашний комп? - из той же серии, простой, лёгкий, понятный даже дебилу.
И чтобы он легко дружил с прогой-сервером игры.
Игра ККИ, пошаговая, передаваемые объёмы данных просто смешно малы
Заранее спасибо.
SilverSurfer

 
Группа: Cлучайный прохожий
Сообщения: 5
Зарегистрирован: 12 янв 2017
Средств на руках: 93.50
Статус: не указан
Спонсор
 
Re: Как сделать свой сервер для игр бесплатно

Сообщение k0ttee »

Какой именно веб-сервер поставить на свой домашний комп? - из той же серии, простой, лёгкий, понятный даже дебилу.
И чтобы он легко дружил с прогой-сервером игры.

Я бы поставил NGINX и соединил с серверной частью игры сокетом.
Аватара пользователя
k0ttee

 
Группа: Супермодераторы
Сообщения: 6331
Рефералы: 2
Зарегистрирован: 02 май 2014
Средств на руках: 113.40
Статус: вертел
Re: Как сделать свой сервер для игр бесплатно

Сообщение SilverSurfer »

Я вот думаю - а может, и не нужен никакой веб-сервер? Что если в самом сервере игры, прописать работу с сокетами?
SilverSurfer

 
Группа: Cлучайный прохожий
Сообщения: 5
Зарегистрирован: 12 янв 2017
Средств на руках: 93.50
Статус: не указан
Re: Как сделать свой сервер для игр бесплатно

Сообщение k0ttee »

Ngrok делает туннель, чтобы домашний комп смог быть сервером (несмотря на закрытые порты у провайдера).

Если игра представляет собой сайт, на который заходят с браузеров - сойдет любой denwer на localhost.
Аватара пользователя
k0ttee

 
Группа: Супермодераторы
Сообщения: 6331
Рефералы: 2
Зарегистрирован: 02 май 2014
Средств на руках: 113.40
Статус: вертел
Re: Как сделать свой сервер для игр бесплатно

Сообщение SilverSurfer »

Нет, игра представляет собой браузерный клиент (на JavaScript HTML5 Canvas), который обменивается данными с сервером игры (который всё обсчитывает)
Игрок открывает клиент (не с моего домашнего компа), а дальше этот клиент должен обмениваться данными с сервером (программой) который стоит на моём домашнем компе

Добавлено спустя 6 часов 28 минут 54 секунды:
Кароче (умудрился уже опытом) отвечаю сам же на свой же вопрос:
Для тех у кого бомбит писать свою собственную онлайн-игру, а (нихрена) навыков в веб-программировании нету, а 3 дня кряду самостоятельно рыть инет (как сейчас делал я) не хоца, то:
1. Качается эта прога: Node ("recommended" версия там). Инсталится на свой домашний комп. Это сразу (2-в-1 одном флаконе) - и прога-сервер-игры (кодинг программного кода сервера игры, проводится на языке JavaScript - после чего, сохраняется в файл sr.js - после чего, подсовывается в командной строке на вход этой проге при её запуске) - и она же также и веб-сервер сама (на этот веб-сервер - на неё - потом можно будет заходить из инета браузером)
2. Курс молодого бойца по этой проге:
3. На компе создаётся папочка, в которой будет писаться игра. (и сервер-игры и клиент-игры)
4. В эту папочку, кладётся тот файл sr.js (в котором будет писаться код сервера игры - писаться например открыв этот файл, блокнотом)
5. Внутри этой папочки, создаётся подпапочка "public" - в ней будет лежать клиент игры: 2 файла - index.html (веб-страница которая даётся в браузер подключившемуся клиенту), и cl.js (программный код клиента игры - тобиш, программный код самой этой вебстраницы, который исполняет браузер клиента на стороне компа клиента - код этот программный, он писаемый тоже на языке JavaScript, тоже открывая этот файл например ноутпадом)
6. Если 2-5 это показалось слишком сложно на восприятие - качается например этот готовый работающий пример
7. Кодим клиент-серверный обмен (игра в пинг-понг сообщениями туда-сюда), с помощью веб-сокетов (вебсокетов, websockets). Именно вебсокетов, а не чего-то ещё.
8. Как кодить 7 - видно в том готовом работающем примере из 6.
9. Запуск в небо:
10. Открывается командная консоль (cmd).
11. В ней идётся (с помощью команд cd) внутрь той папочки где лежит файл sr.js ( файл программы сервера игры)
12. После того как пришли в ту папочку, набираем команду: node sr.js. И жмём Enter.
13. Ура, сервер игры (он же, и веб-сервер по совместительству) - запущен, работает.
14. Открываем на своём компе браузер, и в адресную строку вводим там: localhost:3000
(вместо "3000" - номер порта который прописан в файле sr.js - проге-сервере-игры)
15. Если всё сделано верно, наслаждаемся как в браузере появилось сообщение от сервера игры.
16. А если в sr.js уже прописана и выдача клиенту клиентской веб-страницы (которая лежит в той папке "public") - то наслаждаемся тем как на эту веб-страницу зашлось в браузере.
17. Гордо показаться нашему новоиспечённому серваку игры (вебсерверу) на просторах инета, поможет прога ngrok.
18. Друк открывает у себя дома браузер, заходит им на адрес вашего компа (который написано в ngrok) указав после этого адреса через двоеточие (":") ту цифирь "3000" (или какой порт прописан в sr.js, и есно цифирь в адресной строке браузера дописывается без кавычек) - и - о чудо! - он зашёл браузером этим своим на вебстраницу клиента вашей игры.
19. Всё программирование - и клиента игры, и сервера игры - производится исключительно на языке JavaScript (не перегружая тыкву сто500 разными языками программирования)
20. Онлайново проверить свой JavaScript-код на синтаксическую корректность: здесь (копипастить туда из ноутпада - если надпись там внизу не стала зелёненькой, а красненькая, значит ищи ошибку, по подсказкам там справа - скобочка, точка с запятой, и т.п. упущения - без исправления всех упущений, данный код просто не заработает)
(можно также кодить в среде разработки вроде Eclipse Jee Neon, но не рекомендуется до достижения "высот" перегружать ею свою тыкву)

21. P.S. (для адванседов, уже): если при кодинге потребуется установка доп.библиотек которые есть у node, делается это "кошерным" заходом в папку игры (консолью cmd, пп.10-11), и выполнением там следующей команды: npm install <имя_этой_библиотки> --save
(без угловых скобок, и с обязательной припиской --save, ну и не забыть написав команду нажать Enter))

P.P.S. Сам рыл всё это, дня 3 :cool:
P.P.P.S. Для более серьёзных разработок, конечно же мировая индустрия юзает все эти апачи, денверы, пхп, си++, и т.п..

За это сообщение автора SilverSurfer поблагодарил:
birds
SilverSurfer

 
Группа: Cлучайный прохожий
Сообщения: 5
Зарегистрирован: 12 янв 2017
Средств на руках: 93.50
Статус: не указан
Re: Как сделать свой сервер для игр бесплатно

Сообщение SilverSurfer »

Еще более умудрившись опытом, выкладываю полностью рабочий пример:
Писан на чистых вебсокетах (БЕЗ использования технологии socket.io)

1. Качается эта прога: Node ("recommended" версия там). Инсталится на свой домашний комп. Это сразу (2-в-1 одном флаконе) - и прога-сервер-игры (кодинг программного кода сервера игры, проводится на языке JavaScript - после чего, сохраняется в файл sr.js - после чего, подсовывается в командной строке на вход этой проге при её запуске) - и она же также и веб-сервер сама (на этот веб-сервер - на неё - потом можно будет заходить из инета браузером)
2. Курс молодого бойца по этой проге:
3. На компе создаётся папочка, в которой будет писаться игра (и сервер-игры и клиент-игры). У меня, эта папочка - "C:\...\...\...\proj"
4. В эту папочку, кладётся тот файл sr.js (в котором будет писаться код сервера игры - писаться например открыв этот файл, блокнотом)
5. Внутри этой папочки, создаётся подпапочка "public" - в ней будет лежать клиент игры: 2 файла - index.html (веб-страница которая даётся в браузер подключившемуся клиенту), и cl.js (программный код клиента игры - тобиш, программный код самой этой вебстраницы, который исполняет браузер клиента на стороне компа клиента - код этот программный, он писаемый тоже на языке JavaScript, тоже открывая этот файл например ноутпадом)
7. Кодим клиент-серверный обмен (игра в пинг-понг сообщениями туда-сюда), с помощью чистых веб-сокетов (НЕ socket.io, НЕ TCP-сокеты, и т.п.):

proj\sr.js (программа сервер игры):

Обычный веб-сервер (статика) на порту 8080 (выдаёт веб-страницу клиентскому браузеру)

Код: Выделить всё
var http = require('http');
var static = require('node-static');

// Create a node-static server instance to serve the './public' folder
// Создаём веб-сервер (который берёт данные клиентской веб-страницы из подпапки "public" и выдаёт эту веб-страницу клиентскому браузеру)

var file = new static.Server('./public', { cache: 0 }); // в настройке "cache", отключили кэширование веб-страниц выдаваемых веб-сервером клиентскому браузеру

http.createServer(function (request, response)
{

 request.addListener('end', function ()
 {
  file.serve(request, response); // Serve files! - обслуживаем запросы клиентского браузера ("request") давая на них ответ ("response")
 }).resume(); // добавили листенер клиентских запросов - функцию

}).listen(8080); // веб-сервер "слушает" (листенит) на порту 8080


Сервер чистых веб-сокетов на порту 8081 (чистые вебсокеты - это штатные вебсокеты, без использования библиотек socket.io)

Код: Выделить всё
var WebSocketServer = new require('ws');
var webSocketServer = new WebSocketServer.Server({port: 8081}); // вебсокет-сервер "слушает" (листенит) на порту 8081

var clients = {}; // массив - подключенные к вебсокет-серверу клиенты

webSocketServer.on('connection', function(ws) // задаём функцию обрабатывающую событие подключения вебсокет-клиента
{
  var id = Math.random(); // рандомом сгенерировали "idшник нового клиента"
  clients[id] = ws; // "положили" данные вебсокет-подключения нового клиента, в массив клиентов по индексу id
  console.log("У нас новое вебсокет-соединение: " + ws + "; клиенту назначен id: " + id); // отписались в серверной консоли

  clients[id].send("Вебсокет-сервер сообщает вам ваш id клиента: " + id); // отсылаем нашему новому клиенту, сообщение

  // обработчик события поступления сообщения от клиента - задаём функцию, обрабатывающую это событие
  ws.on('message', function(message)
  {
   for (var key in clients) // перебираем наш массив клиентов
   {
    if (clients[key] == ws) // если это - наш текущий клиент
    {
     console.log('От клиента (' + key + ') получено сообщение: ' + message); // отписались в серверной консоли
     clients[key].send('Вебсокет-сервер отвечает на ваше сообщение, клиент (' + key + '): от вас получено сообщение следующего содержания: ' + message); // высылаем сообщение-ответ этому клиенту
    }
   }
  });

  // обработчик события когда клиент отключился - задаём функцию, обрабатывающую это событие
  ws.on('close', function()
  {
   console.log('Закрыто соединение клиента (' + id + ')'); // отписались в серверной консоли
   delete clients[id]; // удаляем отключенного клиента, из массива клиентов
  });

}); // конец функции обрабатывающей событие подключения вебсокет-клиента


Дальнейший серверный код

Код: Выделить всё
console.log("Сервер запущен на портах 8080 (static через node), 8081 (pure web-sockets)");


proj\public\index.html (клиентская веб-страница, которую статик веб-сервер выдаёт клиентскому браузеру):

Код: Выделить всё
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
<script src="cl.js"></script>
<canvas id="cl">Your browser must support HTML5 to run this game</canvas>
<script>redrawCanv();</script>
<title>НАША ИГРА</title>
</body>
</html>


здесь:

<canvas id="cl">Your browser must support HTML5 to run this game</canvas>
- создаём канвас (а если браузер его не поддерживает, в браузер пишется наше сообщение об этом)

<script src="cl.js"></script>
- программа клиент игры, в этой клиентской веб-странице, рисующая на канвасе

<script>redrawCanv();</script>
- вызов функции программы клиент игры

proj\public\cl.js (программа клиент игры, в клиентской веб-странице, рисующая на канвасе):

Веб-сокеты (чистые, без использования библиотек socket.io)

Код: Выделить всё
if (!window.WebSocket) // если наш клиентский браузер не поддерживает чистые вебсокеты
{
 document.body.innerHTML = 'WebSocket в этом браузере не поддерживается.';
}

// создать вебсокет-подключение
var socket = new WebSocket("[color=#FF0000]ws://0c4807fc.ngrok.io[/color]");

// обработчик входящих сообщений (от вебсокет-сервера)
socket.onmessage = function(event)
{
 var incomingMessage = event.data;
 alert(incomingMessage);
};


Листенеры веб-страницы

Код: Выделить всё
window.addEventListener('resize', redrawCanv, false);
window.addEventListener('orientationchange', redrawCanv, false);


Основные функции

Код: Выделить всё
//перерисовать канвас
function redrawCanv()
{
cnv = document.querySelector('canvas');
cnv.setAttribute('width', okrc(window.innerWidth*0.98));
cnv.setAttribute('height', okrc(window.innerHeight*0.98));

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

// ... дальше, здесь код рисования клиентской картинки игры на канвасе

mo = {x:0,y:0}; // координаты курсора мыши
cnv.addEventListener("mousemove", onMouseMove, false); // создаём листенер перемещений мыши
cnv.addEventListener("click", onClick, false); // создаём листенер кликов (лкм или скм) мыши
}


Вспомогательные функции

Код: Выделить всё
//округление в меньшую сторону до целого
function okrc(n)
{
 mr = Math.round(n);
 if (mr < n) return mr;
 return mr-1
}

// листенер перемещений мыши
function onMouseMove(e)
{
mo.x = e.clientX - cnv.offsetLeft;
mo.y = e.clientY - cnv.offsetTop;
 
if (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;
 if (!(mo.x >= plr.hand.cards[cur].x && mo.x <= plr.hand.cards[cur].xe && mo.y >= plr.hand.cards[cur].y && mo.y <= plr.hand.cards[cur].ye))
 {
  var ikol = plr.hand.cards.length - 1;
  for (var i = 0; i <= ikol; i++)
  {
   if (mo.x >= plr.hand.cards[i].x && mo.x <= plr.hand.cards[i].xe && mo.y >= plr.hand.cards[i].y && mo.y <= plr.hand.cards[i].ye)
   {
    plr.hand.cur = i;
    drawCard(plr.hand.cards[i]);
    break;
   }
  }
 }
}
};

// листенер кликов (лкм или скм) мыши
function onClick(e)
{
 outgoingMessage = "клик мышью: [ x: " + mo.x + " | y: " + mo.y + "]";
 socket.send(outgoingMessage);

}


8. В коде sr.js, мы использовали работу с http. Поэтому, установим для ноды эту библиотеку, которую мы используем в коде:
9. Открывается командная консоль (cmd).
10. В ней идётся (с помощью команд cd) внутрь папочки proj
11. После того как пришли в ту папочку, набираем команду:
npm install http --save
(жмём Enter)
- в папке proj, должна появиться подпапка "node_modules"

12. Запуск в небо:
13. Программу ngrok, положим в ту же папочку proj (в её корень) - гордо показаться нашему новоиспечённому серваку игры (и вебсерверу-статикв нём, и вебсокет-серверу в нём) на просторах инета, поможет эта прога.

14. Открывается командная консоль (cmd).
15. В ней идётся (с помощью команд cd) внутрь папочки proj
16. После того как пришли в ту папочку, набираем команду:
ngrok http 8080
(и жмём Enter)
- ура, порт 8080 (статик веб-сервер) проброшен в интернет!

17. Открывается ЕЩЁ ОДНА командная консоль (cmd).
18. В ней идётся (с помощью команд cd) внутрь папочки proj
19. После того как пришли в ту папочку, набираем команду:
ngrok http 8081
(и жмём Enter)
- ура, порт 8081 (вебсокет-сервер) проброшен в интернет!

20. В окне cmd из п.19 (ИМЕННО ИЗ НЕГО), смотрим на вот такую строчку: (опять пример, этот текст при каждом запуске ngrok всегда разный!)
Forwarding http://0c4807fc.ngrok.io -> localhost:8081
- нас из этой строчки, интересует ТОЛЬКО вот эта её подстрочка: 0c4807fc.ngrok.io
- и копируем ЭТУ ПОДСТРОЧКУ в буфер обмена (как копировать любой текст из окна cmd, читай в инете)
21. Открываем блокнотом файл cl.js (наша программа клиент игры). В нём идём на строчку, выделенную у меня в примере красным.
Пастим из буфера обмена, заменяя ПОДСТРОЧКУ (которая после //, и до закрывающей кавычки). Проверяем всё ещё раз (правильно ли вставилось), сохраняем файл.
В КРАСНОЙ СТРОЧКЕ, В ЕЁ НАЧАЛЕ ВСЕГДА ДОЛЖНО СТОЯТЬ WSНЕ HTTP!!!!!!!!!!!!!!)

22. Открывается ЕЩЁ ОДНА (уже, третья) командная консоль (cmd).
23. В ней идётся (с помощью команд cd) внутрь папочки proj
24. После того как пришли в ту папочку, набираем команду:
node sr.js
(и жмём Enter)
- ура, наш сервер игры запущен (он же, и веб-сервер статик по совместительству - он же, и сервер веб-сокетов по совместительству)
(а нгроки которые выше, пробросили его порты - порт веб-сервер статик, 8080 - а также порт веб-сокетов, 8081 - в интернет)

25. В консоли из п.16, смотрим следующую строчку: (опять пример, этот текст при каждом запуске ngrok всегда разный!)
Forwarding http://864039db.ngrok.io -> localhost:8080
- нас из этой строчки, интересует ТОЛЬКО вот эта её подстрочка: http://864039db.ngrok.io
- и копируем ЭТУ ПОДСТРОЧКУ в буфер обмена (как копировать любой текст из окна cmd, читай в инете)
26. Открываем на своём компе браузер, и в адресную строку пастим этот веб-адрес, жмём Enter.
27. Если всё сделано верно, наслаждаемся как в браузере открылась клиентская веб-страница игры - зашлось браузером на неё.
(если вы увидели на странице надпись вроде "upgrade required" - значит вы браузером, зашли НЕ на адрес ВЕБ-страницы, А на адрес вебсокетов - так делать, НЕ надо))
28. Кликаем мышью ВНУТРИ канваса (сделаем несколько кликов)
29. Наслаждаемся как в cmd из п.21 написало "клиент подключен", а потом "сообщение от клиента" - а в браузере, выскочило оповещение с сообщением присланным сервером игры!
30. Друк открывает у себя дома браузер, заходит им на веб-адрес (который в п.23) - и - о чудо! - он зашёл браузером этим своим на вебстраницу клиента вашей игры.
31. Кликая там по канвасу, второе чудо - обмен сообщениями браузера друка с сервером игры
32. Всё программирование - и клиента игры, и сервера игры - производится исключительно на языке JavaScript (не перегружая тыкву сто500 разными языками программирования)
33. Онлайново проверить свой JavaScript-код на синтаксическую корректность: здесь (копипастить туда из ноутпада - если надпись там внизу не стала зелёненькой, а красненькая, значит ищи ошибку, по подсказкам там справа - скобочка, точка с запятой, и т.п. упущения - без исправления всех упущений, данный код просто не заработает)
(можно также кодить в среде разработки вроде Eclipse Jee Neon, но не рекомендуется до достижения "высот" перегружать ею свою тыкву)
34. Онлайново сделать красивый внешний вид JavaScript-кода, грамотно расставить переносы строк в нём: здесь

35. P.S. (для адванседов, уже): если при кодинге потребуется установка доп.библиотек которые есть у node, делается это "кошерным" заходом в папку игры (консолью cmd, пп.10-11), и выполнением там следующей команды: npm install <имя_этой_библиотки> --save
(без угловых скобок, и с обязательной припиской --save, ну и не забыть написав команду нажать Enter))
36. P.P.S. Ограничиться вместо двух портов (8080 и 8081 в примере) всего лишь одним портом (повесив на него И веб-сервер статик, И вебсокет-сервер) - НЕЛЬЗЯ!
SilverSurfer

 
Группа: Cлучайный прохожий
Сообщения: 5
Зарегистрирован: 12 янв 2017
Средств на руках: 93.50
Статус: не указан
Re: Как сделать свой сервер для игр бесплатно

Сообщение k0ttee »

А еще говорят, что нельзя вот так просто взять и начала писать на Node JS. :rolf:
Аватара пользователя
k0ttee

 
Группа: Супермодераторы
Сообщения: 6331
Рефералы: 2
Зарегистрирован: 02 май 2014
Средств на руках: 113.40
Статус: вертел
След.

Вернуться в Железо и софт

 


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

☞ Форум Казино. Всегда свежие бездепы в онлайн казино. Налетай!


*** заработок на сайте, выплаты еженедельно, в долларах ***
-= покупка и продажа кликов и трафика =-