Blog | Блог _AMD_
Перейти к основному содержимому

· 2 мин. чтения

Мне повезло стать ~212 тысячным клиентом этого банка и пользуюсь их карточкой уже примерно 4-5 месяцев. Считаю, что этот банк со временем вытеснит или, по крайней мере, потеснит нынче самый популярный PrivatBank.

monobank-open-pack

Плюсы

  • 10% на баланс просто за пользование карточкой. Некоторые банки таких депозитов не открывают, а тут даже делать ничего не надо
  • Кстати, о депозитах. 16% годовых с минимальным сроком в пол года. Это вообще лучшее предложение не только в Украине, а еще и много где за ее пределами
  • Мультифункциональный саппорт, которому можно написать даже потому что вам просто скучно, потому что ответят быстро и не бот.
  • Кешбеки до 20%. На самом деле 20% только в кино, в остальном больше 4% не получить, но он есть и начисляется на баланс, а не в виде бонусов.
  • Комиссия обналички — 0,5%. В ПриватБанке 1%. Остальных не знаю. Но вполне неплохо, когда обналичить надо 10к, например.
  • Транзакции бесплатные и "летают" супербыстро. Я не успеваю расправить пакет на кассе, как получаю оповещение на телефон о том, что с карточки списались деньги
  • Пополнение наличкой тоже без комиссий через терминалы ibox. Они есть везде
  • И пополнение мобильного счета. Это мелочь, но приятно!
  • Все об этом говорят, но они вместе с карточкой присылают стикеры с котиками! :3
  • Никогда не пользовался кредитным лимитом, а тут попробовал, потому что сделать его можно не выходя из туалета в течении 10 минут.
  • Кстати, офисов у них нет, но вы это и так знаете. Регистрируетесь, приходите "на точку" и забираете карточку. Профит! А действительно, зачем офисы?
  • Курс валют выгоднее за PrivatBank. Когда я вывожу денежку с интернета себе на карточку, то получаю на моно больше денежек. А даже если показалось, то на моно они все равно приходят быстрее

monobank-stickers

Минусы

Этот пост ни капли не проплачен, но я не могу найти ни единого минуса, разве что высасывать из пальцев. Этот банк дает мне абсолютно, целиком и полностью все, что мне нужно от банка и пока что я не сталкивался ни с одной проблемой, к которой он был бы причастен. Возможно, еще просто время не настало)

· 4 мин. чтения

Мне потребовалась функция, определяющая, находится ли IP под указанной маской и я захотел в деталях понять, как она работает. Для этого надо было понять, как IP конвертируются в целые числа и наоборот

Преобразования IP в число и обратно это побитовые операции, но я постараюсь объяснить все так, чтобы понятно было тем, кто с ними не знаком или плохо знаком. Подробнее о них можно почитать, например, здесь.

Представление IP

Как вам известно, IP состоит из 4 блоков, где число в блоке \<= 255. Почему? В старые времена компьютеры поддерживали числа только до 32 бит. В 32 битах максимальное число 2^32-1 = 4294967295. В шестнадцатиричной системе (HEX) оно выглядит как FFFFFFFF или 32 ноля в двоичной (BIN).

А теперь разделим FFFFFFFF на 4 кусочка (блока): FF FF FF FF FF HEX = 255 DEC. Отсюда и получается максимально большой ИП: 255.255.255.255.

IP это HEX или BIN кусочки, разделенные точкой

Вид 255.255.255.255 в разных представлениях:

DEC 255 255 255 255
BIN 11111111 11111111 11111111 11111111
HEX FF FF FF FF

Ноли в начале чисел ничего не значат. Тоесть, 000001 == 1, поэтому если в тексте ниже сначала чисел будут ноли, то они добавлены "для красоты"

Еще пример. Возьмем любой другой ИП, например 37.230.210.51. Разделим его на кусочки: 37 230 210 51. Конвертируем каждый из этих кусочков в HEX и BIN:

DEC 037 230 210 051
BIN 00100101 11100110 11010010 00110011
HEX 25 E6 D2 33

Конвертер десятичных числел в двоичные и HEX здесь

Склеиваем, получается HEX 25E6D233 или BIN 00100101 11100110 11010010 00110011. Теперь можете конвертировать это в DEC и получите IP в виде числа, которым его удобно хранить в БД

Функция конвертации IP в число

local function ipToInt(ip) -- ip = 37.230.210.51
local int = 0

-- 31 230 210 51
local p1, p2, p3, p4 = ip:match("(%d+)%.(%d+)%.(%d+)%.(%d+)")

-- BIN | HEX
int = int + bit.lshift(p1,24) -- 00100101 00000000 00000000 00000000 | 25 00 00 00
int = int + bit.lshift(p2,16) -- 00100101 11100110 00000000 00000000 | 25 E6 00 00
int = int + bit.lshift(p3,8) -- 00100101 11100110 11010010 00000000 | 25 E6 D2 00
int = int + p4 -- 00100101 11100110 11010010 00110011 | 25 E6 D2 33

return int -- 635884083
end

Функция bit.lshift(a, b) смещает число a на b бит влево (Добавляя ноли справа). Тоесть 11010111 после смещения на 3 бита влево превратится в 11010111000. После этого смещение на 3 бита вправо вернет число в прежнее состояние, убрав ноли справа

Что происходит в функции? Она помещает каждый кусочек IP на свое место в битовом представлении и на выхлопе получается нужное число. Функция делает то же самое, что было описано ранее, только за счет математики

Конвертация числа в IP

Итак, у нас есть IP в виде DEC числа и нам нужно сделать из него глазу понятный IP. Алгоритм человеческим языком:

  1. Представляем DEC в виде BIN
  2. Вырываем с этого BIN 4 кусочка
  3. Разделяем их точкой

Lua функция:

-- Маски из примера ниже
-- FF 00 00 00 == 11111111 00000000 00000000 00000000
-- 00 FF 00 00 == 00000000 11111111 00000000 00000000
-- 00 00 FF 00 == 00000000 00000000 11111111 00000000
-- 00 00 00 FF == 00000000 00000000 00000000 11111111

local function intToIp(int) -- 635884083 (00100101 11100110 11010010 00110011)
local a = bit.band(int, 0xFF000000) -- 00100101 00000000 00000000 00000000 | 25 00 00 00 | 037.000.000.000
local b = bit.band(int, 0x00FF0000) -- 00000000 11100110 00000000 00000000 | 00 E6 00 00 | 000.230.000.000
local c = bit.band(int, 0x0000FF00) -- 00000000 00000000 11010010 00000000 | 00 00 D2 00 | 000.000.210.000
local d = bit.band(int, 0x000000FF) -- 00000000 00000000 00000000 00110011 | 00 00 00 33 | 000.000.000.051

a = bit.rshift(a, 24) -- помещаем в самое начало
b = bit.rshift(b, 16) -- на второе место
c = bit.rshift(c, 8) -- на третье
-- четвертое уже на своем

local ip = a .. "." .. b .. "." .. c .. "." .. d
return ip -- 37.230.210.51
end

print( intToIp(635884083) )

Функция bit.band(a, b) заменяет побитовый оператор AND (и). Он возвращает число, в котором только те биты, которые установлены и в a, и в b. Тоесть bit.band(0x00FF, 0xFF00) вернет 0xFFFF. Это эквивалентно bit.band(0000000011111111, 1111111100000000) == 1111111111111111.

rshift это противоположность lshift, о котором я писал выше

Бонус

Я начал изучение этого вопроса с функции, говорящей, входит ли IP в маску, поэтому делюсь и ею: lua-function-mask-has-ip

Ссылки

· 2 мин. чтения

Здесь написано о запуске через docker-compose. Я пишу об установке в качестве сервиса systemd

Если сервис "упадет" (Будь то убийство процесса или краш), он перезапустится через 10 секунд

Создаем и запускаем сервис OpenVPN

Создаем volume с названием ovpn-data-NAME, где NAME - название контейнера, которое во всех последующих действиях должно быть одинаковым

OVPN_DATA="ovpn-data-example"
docker volume create --name $OVPN_DATA

Здесь название это example. Дальше оно и будет использоваться

Генерируем данные (Замените HOST_OR_IP на адрес сервера) При вводе 2 команды нужно будет дважды ввести пароль, который стоит запомнить. Он еще потребуется при завершении выполнения команды. Название сертификата можно ввести любое или просто .

docker run --rm -v $OVPN_DATA:/etc/openvpn kylemanna/openvpn ovpn_genconfig -u udp://HOST_OR_IP
docker run --rm -v $OVPN_DATA:/etc/openvpn -it kylemanna/openvpn ovpn_initpki

Скачиваем docker-openvpn@.service в /etc/systemd/system

curl -L https://raw.githubusercontent.com/kylemanna/docker-openvpn/master/init/docker-openvpn%40.service | sudo tee /etc/systemd/system/docker-openvpn@.service

Запускаем:

systemctl enable --now docker-openvpn@example.service

Статус сервиса : systemctl status docker-openvpn@example.service Лог сервиса : journalctl --unit docker-openvpn@example.service Остановка : systemctl stop docker-openvpn@example.service

Создаем клиентские конфиги

Чтобы подключиться к VPN потребуется конфигурация. Заменяем CLIENTNAME в первой строчке

CLIENTNAME=home_pc
docker run --rm -v $OVPN_DATA:/etc/openvpn -it kylemanna/openvpn easyrsa build-client-full $CLIENTNAME nopass
docker run --rm -v $OVPN_DATA:/etc/openvpn kylemanna/openvpn ovpn_getclient $CLIENTNAME > $CLIENTNAME.ovpn

На Windows ее нужно поместить в C:\Program Files\OpenVPN\config

Полезные ссылки

· 1 мин. чтения

Ниже заметки, касательно KOTO и yescrypt, но используя cpuminer-multi майнятся и другие монеты

yescrypt-cpu-mining

Установка с Docker

docker run --rm defaced/cpuminer-multi --algo yescrypt --url stratum+tcp://koto.litepool.ru:3032 --user k1FQS7Q2XxaWWLjLdFXFJfG7cQq74mWsZph Можно заменить адрес пула и кошелька

Установка без Docker

Требуется Debian based OS*

Установка зависимостей sudo apt install git build-essential libcurl4-openssl-dev autotools-dev automake

Скачиваем майнер git clone https://github.com/KotoDevelopers/cpuminer-yescrypt.git koto-miner ; cd koto-miner

Устанавливаем ./autogen.sh ./configure make

Запускаем (В -u кошелек) ./minerd -a yescrypt -o stratum+tcp://koto.litepool.ru:3032 -u k1FQS7Q2XxaWWLjLdFXFJfG7cQq74mWsZph

Статистика

Наблюдать за своими воркерами можно по ссылке: http://koto.litepool.ru:8080/workers/k1FQS7Q2XxaWWLjLdFXFJfG7cQq74mWsZph Нужно только заменить адрес кошелька на свой.

koto-litepool-stats

Если есть несколько воркеров (aka rigs), то его имя можно указать через точку после адреса при запуске майнера: --user ADDRESS.rigname

· 7 мин. чтения

gm-donate.net — система автоматического приема и обработки донатов (пожертвований) для Garry’s Mod серверов. Простыми словами – автодонат для гмод серверов.

GMD — это вторая попытка сделать качественный сервис для автоматизации донатов и мне кажется, она удалась.

· 1 мин. чтения

Это перепись моего поста с основного блога, который написан на WordPress

Забитый гвоздь

WordPress утомляет

Каждый раз, когда я хочу сюда что-то написать, желание сразу перебивается мыслью о том, что я должен буду зацепить 100500 настроек поста:

  • Заголовок
  • Формат записи
  • Постоянная ссылка
  • Оформление поста
  • Ключевые слова
  • Описание для гугла
  • Рубрика, Публикации в соц. сети
  • Метки
  • Сам текст, оформить который здесь бывает сложнее, чем написать

Одним словом — дохера лишнего.

Я даже не могу определиться, зачем он мне. Вроде как хочу, чтобы кто-то читал и иногда пишу посты, которые могли бы гуглится, а такие посты мне писать скучно. С другой стороны, без таких постов писать сюда вообще нет смысла. Кто находит этот блог не через поисковики?

Поэтому я пишу в Telegram. Там мне не нужно думать обо всей этой возне. Придумал текст, взял телефон в руки — написал, забыл. Читатели — те, кого соберешь вручную.

UPD 2018.07.08. Теперь я еще буду писать сюда. На blog.amd-nick.me, используя Ghost. Ghost быстрый, правильный и простой. Я пишу на Markdown, вижу большие буквы и ничего лишнего.

Мне кажется, мир стремится к тому, чтобы контент доставлялся к юзерам именно в таком виде. Простом виде.

· 4 мин. чтения

В процессе работы над автодонатом для Garry’s Mod мне доводилось иметь дело с десятком-вторым человек. Некоторые хотят получить помощь по системе, когда сами создают проблему, при чем сами и препятствуют нам ее решать, например, отказывая в доступе через TeamViewer. Другие требуют сделать то, что мы делать не должны, параллельно угрожая уходом, если мы их не послушаемся. Но все они — пустяк на фоне особой и самой основной категории юзеров — скряги.

Предисловие

Страница профиля первой версии автодоната

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

Спустя год я решил сделать новую версию, в которой учту все проблемы предыдущей и которая станет автодонатом в нынешнем виде — gm-donate.net.

Страница профиля и пополнения счета второй версии автодоната

Первые проблемы начались еще на этапе запуска. Люди не понимали зачем им это нужно, а слушать мои объяснения они не хотели. Если же слушали, то после «наша комиссия — 8%» прекращали. Все обещания полного возврата средств в случае неокупаемости пропускались мимо ушей.

Говоря о комиссии, хотелось бы подметить, что 8% это чисто наша комиссия. То, что мы берем на двоих с напарником. Полный размер в районе 15%, в зависимости от метода платежа…

НО. Это при том, что профит выше минимум на 100% от первоначального

Работа с теми, кто осилил

И вот тут самое интересное. Обычно (всегда) это люди, которые изначально не спрашивали по поводу комиссий. Видимо, считающие, что здесь всё бесплатно сделали, чтобы только им было хорошо. Они и начинают наезжать на нас. Один такой парень начал зарабатывать с нами свыше 100к в месяц, но это не помешало ему осмелиться обвинять нас в том, что мы его грабим.

Обожаю, когда давят на жалость

Кстати говоря, недавно он потерял свой проект (а мы клиента), потому что поругался с другим совладельцем. Тот обвинил его в жадности. Но и совладелец тоже перл. Когда отобрал проект, наш автодонат он удалил, а вместо этого на коленке написал свой. Заработает теперь намного меньше, ЗАТО КОМИССИЯ НИЖЕ genius.

Нас не устраивает скорость выплат

Так заявила администрация популярного проекта, которых я за 21 день все-таки подключил к нашей системе, всему поддакивая и делая то, что не должен. Проработали мы около 12 часов.

Как хочешь

По словам одного из администраторов, оборот проекта до автодоната составлял примерно 20к в месяц. За 12 часов, пока на сервере стоял автодонат — они получили 3к чистыми. 1/6 месячного оборота за пол дня. Когда я спросил, что их не устраивает — они сказали, что скорость выплат. ta-daaam

Что-то вроде вывода

Не работайте с дураками. Я потратил несколько месяцев времени, гору нервов и несколько тысяч рублей на этот автодонат, несколько раз поругавшись с напарником, чтобы видеть то, как люди уходят с мыслью «лучше заработаю намного меньше, чем поделюсь с кем-то другим». Заработают только сильнейшие

UPD 02.09.2018

Диалог с разработчиком одного из проектов

_AMD_, [27.08.18 03:10] господа. Представьте, что вы - владелец гмод сервера и вы хотите автоматизировать продажу доната. Как бы вы искали то, что вам для этого нужно? Это важный вопрос

мистер лололошка, [02.09.18 01:50] я бы пошол смотреть api qiwi)))))))

_AMD_, [02.09.18 10:02] Через киви не сделаешь прием платежей десятком способов, тем самым потеряв около 60% дохода. Это не считая потерянного на разработку времени вместо того, чтобы взять проверенный временем и крупными проектами продукт

мистер лололошка, [02.09.18 10:10] я просто к тому што если бы у иеня был сервак я бы ад точно свои писал. я никогда чужое не юзаю потому что не могу быть уверен в безопасности

_AMD_, [02.09.18 10:15] крупнейшие проекты в СНГ доверяют нам десятки тысяч рублей. О чем речь?

· 7 мин. чтения

В поисках укрытия моих игровых серверов от DDoS атак рассматривались различные варианты. От специализированного на этом хостинге MyArena, который к этому моменту до такой степени пропитался поносом, что отпугивает одним лишь названием, и до всяких mnogobyte.ru с ddos-guard.net

Цены на ddos-guard слишком дики, да и процессоры их совсем не подходят для однопоточных игровых серверов. У многобайт дела с этим обстоят намного лучше, там хотя бы есть E3-1270v3, у которого с производительностью отдельного ядра все хорошо, но вместе с защитой цена бы вышла в 2 с хреном раза выше, чем я платил за тот же тариф на любимом renter.ru.

Но что-то я отошел от айхора, выбор на котором в конечном итоге и остановился. ihor-landing

По «обложке» он привлекал:

  1. Гигабитный канал. 100 мбит даже в выбор не дается. На старом хостинге (рентер) было 100 мбит, поэтому если приходил траф в 500, то я не имел возможности даже tcpdump включить без KVM
  2. Действительно справедливые цены. Никаких 10к за сраный «атом». Я получил E5-1630v3 с гигабитным портом и KVM за какие-то ~6к руб, отрубил HyperThreading и наслаждался жизнью.
  3. А еще я могу создать тот сервер, который хочу, благодаря их конфигуратору. Возьмем тот же рентер. Я сидел на сервере с 16 гб ОЗУ, хотя примерно 10 из них мне просто нахрен не нужны были. В саппорте сказали наслаждаться, но я их понимаю. Здесь, на айхор, я выбрал столько оперативы, сколько захотел
  4. Кстати, платы за установку сервера, которая на многих хостингах превышает стоимость месячной аренды того же сервера, тоже не было. Они словно красную дорожку перед мной постелили и сказали «заходи, братиш, у нас круто»

Но главным разочарованием оказалось их главное преимущество, что написано у них на главной странице, отдельным баннером, большими буквами — защита от любых(!) видов DDoS атак, а дотравила мое отвращение их тех. поддержка, которая как бы есть, но ее как бы нет.

Впечатления до начала использования

Часть я описал выше. Все было отлично, но после первого же обращения начали появляться сомнения. ihor-reaction-delay

Хмм, ради ответа приходится столько ждать? А что, если у меня ЧП случится? Ааа, наверное, это они так долго отвечали, потому что я написал поздно — подумал я.

Обратите внимание на то, что я специально переспросил по поводу защиты от UDP флуда. Даже ddos-guard с их защитой, стоящей как несколько таких серверов не говорят о ней.

Но да, меня предупредили, что могут быть проблемы, если будут долбать по конкретным портам, окей. Другие сервера то должны работать, а это главное, но чуть дальше будет поинтереснее.

Заказываем сервер

Оформление заказа происходит через тикет, который создается автоматически, чего я сначала не совсем понял. От меня никаких действий не требовалось, про оплату никто ничего не написал, хотя я решил предостеречься и сразу пополнил счет на необходимую сумму.

Что очень обрадовало, так это то, что сервер я получил практически мгновенно!1!1 (нет). Обратите внимание на выделенные в тикете области ihor-reaction-delay-zakaz-servera-1

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

ihor-reaction-delay-zakaz-servera-2

Оказывается, у них просто в магазин некого послать было. Ну что же, бывает, да? Мы то подождем, правда? Счет то пополнили уже, не вырывать же из рук. Они же даже извинились, как в инструкции по эксплуатации клиентов написано. Как за это можно ругать?

Спустя всего 4, МАТЬ ЕГО, ДНЯ я все же получил свой серверок ihor-reaction-delay-zakaz-servera-3

Косяки компании

Мелочь, а не приятно. В тех. поддержке не смогли предоставить практически никакой информации по поводу атаки. Не может ли это значить, что работают с атаками они «вслепую»? А может, это инновационный эффективный метод борьбы с ними?

ihor-no-attack-info

Как сисадмины систему переустанавливали

После получения сервера первым делом я сам, через KVM накатал на него демку винды, так как давно хотел иметь удаленный раб. стол. В саппорт обращаться не стал, т.к. странно как-то просить их о том, чтобы на халяву винду поставили. Тут никаких претензий, кроме того, как они потом мне сеть на ней настраивали, а заняло это у админа минут 10-15 ковыряний. У меня часть видео есть. Делал на случай, если потом тоже захочу еще раз настроить.

Так получилось, что винду было практически нереально защитить от любых атак. Ветер подул не так — сетка отвалилась. RDP нет, MySQL соединения умерли, базы отвалились, сервера засыпало ошибками, дело-дрянь, все сломалось, садись — чини и так могло быть по несколько раз на день.

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

ihor-os-reinstall

Я так и не понял, что чел имел в виду, когда говорил «админы работают и ночью». Наверное, у нас разные понятия о «работе». Я потерял весь свой рабочий день из-за того, что должен был отоспаться, а потом просто был разряжен и все лишь потому что админы понимают «работу» не так, как я.

Защита от атак - ложь

Пожалуй, главная и самая масштабная тема этого поста. То, за чем я сюда и пришел. То, ради чего пожертвовал самым лучшим хостингом выделенных серверов, который я знаю (и это мнение не проплачено) — защита от атак.

Скажу кратко. Защита у них специфична. Ее просто не видно, вот и все. Как бы и что бы они не защищали — мои сервера страдали и страдают на момент написания этого поста.

Поддержка отвечала еще хуже, чем раньше. Начало создаваться впечатление, что после нескольких обращений они кинули меня в низ приоритетов и написали рядом «уебок». Делаю то же рядом с вашим стафф менеджером (если он есть) и директором компании. Оскорбления в мою сторону нервируют меня меньше игнора, который я наблюдаю на каждом шагу.

Много говорить не буду, просто прикладываю скрины ihor-shit-guardians-1.1 ihor-shit-guardians-1.2 ihor-shit-guardians-1.3 ihor-shit-guardians-1.4

Второй запрос в одном скриншоте

Выше первый запрос. Теперь второй, до сих пор активный ihor-shit-guardians-2.1

Подсчитал активность сотрудников

  1. Журавлев Илья. Похоже, один из сис. админов. 12 сообщений
  2. Руслан Фирдависович. 8 сообщений. Кстати, мне кажется этот чел лучшим среди всех
  3. Денис Петров. 4 сообщения
  4. Александра Дмитриевна. 2 сообщения
  5. Юлия Владимировна. 1 сообщение
  6. Александр Анатольевич. 1 сообщение. «Простите за долгий ответ»
  7. Ульянов Кирилл. 1 сообщение
  8. Иван Михайлович. 1 сообщение с инфой заказа
  9. Виталий Сергеевич. 1 сообщение после настройки сетки
  10. Косолапов Алексей. 1 сообщение. «Ожидайте, пожалуйста»

У них на каждую шаблонную фразу по сотруднику?

Итоги

Хостинг неприменно хорош в плане цен и возможностей, но все перечеркивает ложь о защите от атак и отношение тех. поддержки, которая поможет вам разве что лишиться времени, нервов и денег, ибо в итоге вы все сделаете без нее. Но у нее есть и плюс. Вы сделаете все сами, даже если раньше этого не умели. Выбора не останется.

Если у вас приложения, работающие по UDP протоколу — вам с этими ребятами не по пути, хотя я уверен, что с TCP то же самое. Любая атака поставит вас на колени, а если вам нужна винда, то атака и ее на колени поставит тоже.

Они говорят о защите от UDP атак мощностью 20 гбит, но не способны отсеять даже 60 мбит. Как-то речь шла про DNS Amplification — она тоже пролетела.

Единственное, за что тут стоит переплачивать — гигабитный канал, который даст возможность локально попытаться что-то фильтровать, если атака не забьет его и есть навык работы с ними. Также хорошо и то, что вас не кидают в блэкхол после любой атаки, а если у вас однопоточные приложения, то здесь вас может обрадовать наличие Xeon E5-1630 v3

· 8 мин. чтения

Сейчас будет немного занудства и что-то вроде руководства, но не стоит воспринимать его как единственный правильный путь. Я пишу максимально сжато, но так, чтобы ты мог попытаться прочувствовать то же, что и я. Попробуй нарисовать в голове общую картину того, как я относился к идее создания и самому проекту в последующем.

В первую очередь вы (дальше на ‘ты’, ок?) должны абсолютно четко определиться для чего вам это

  1. Деньги
  2. Опыт и как хобби

Лучшее богатство - отсутствие жадности

Полностью совместить и то и другое не получится. Сделать проект чисто ради денег не составит труда. В течении недели можно склепать 2-4 сервера, с которых будет неплохая выручка, но сами из себя будут представлять не более чем кучку безвкусицы для говноедов или тех, кто в игре новичок и поленился поискать лучшую альтернативу.

Среди тысяч Garry’s mod серверов владельцы примерно 90-95% ничего не умеют и не желают делать. Я ничуть не преувеличиваю, почти за 3 года в этой сфере я успел сделать адекватные выводы. Несмотря на это, среди них есть и те, которые называют себя ‘топовыми’. Они делают это лишь потому что имеют больший онлайн на фоне других помоек за счет более удачливого подбора чужих разработок, которые бездумно пихают в свое чадо.

Я пишу это не для тех, кто решил выбрать изи вэй и чисто срубить бабла, а для тех, кто хочет довести дело до ума. Но что, если я скажу, что своим проектом я занимаюсь почти 2 года чуть ли не каждый день, с утра до утра и до сих пор не могу назвать его отличным? А если скажу, что основная аудитория никогда не оценит твоих стараний? Еще не словил дизмораль? Читаем дальше.

Вчера я снова лег сегодня

До начала работы я купил блокнот и четко определил, что он будет служить ‘стартапу’ (вряд ли это можно так назвать). Первая запись — страница вещей, которые обязательно должны характеризировать то, что я сделаю. К сожалению, блокнот я доблестно просрал, но из памяти точно могу назвать несколько пунктов:

  1. Проект должен быть правильным (не идти по головам, не гадить на других без дела ради личной выгоды, не воровать у других и т.д.)
  2. Он должен быть таким, чтобы мне не было стыдно показать его никому. Ни другу, ни родителю, ни любому другому человеку
  3. Он будет выделяться красивым не бомжарским доменом с зеленым ключиком (SSL, HTTPS. В будущем это был httpS://trigon.im)
  4. В связи с вышеуказанным, должен быть чистый модерируемый форум, соответствующий 2 пункту (без рачья, матов и троллей), где также можно почитать новости (в будущем они переехали в сообщество ВК), при чем новости должны быть обновляемыми.
  5. Название должно иметь скрытый смысл, быть универсальным и не иметь связанных с деятельностью приставок (гмод, рп, гейм, прожект и т.п)
  6. Логотип будет узнаваемым и соответствовать 5 пункту (до этого момента было 2 лого. Первое было сложным, поэтому переделано)
  7. Пунктов было 9, но еще 3 я не помню

Затем следовала планировка старта и несколько резервных планов на случай, если предыдущий не сработает. Это включало сам план по развертыванию серверов и их популяризации, а также поиск инвестиций на случай если не отобью аренду сервера (но на деле в первое время за аренду я не платил), да и резервные планы не пригодились.

Как только я начал этим заниматься, так сразу нарушил 1 пункт и ‘своровал’ почти все, что имел на то время. Это форум, некоторые платные дополнения для него, а так как еще не имел опыта программирования на lua (язык, используемый для написания дополнений к игре), да и денег в кармане чуть ли ни гроша, так что пришлось воровать и скрипты для сервера. Чтобы смягчить удар по карме), я оставил копирайты на всем, что имел незаконно. А где их не было — дописал сам, даже отдельную темку на форуме сделал. К настоящему моменту почти все легально куплено или написано собственноручно. Я не пожалел денег ради соблюдения принципа (а это свыше 10000 руб), хотя это было вовсе не обязательно.

Но с самого начала, как я уже говорил, у меня не было опыта в луа, но именно за счет того, что я хотел выделяться, я случайно (методом тыка) его немного и подучил. Тогда я изменил позиции элементов HUD (информ панель на экране), а вскоре и выпустил свою первую разработку — компенсацию денег за купленные принтеры, если вдруг нужно уйти с сервера. Этого не было нигде, за что я был горд и рад.

Первый HUD проекта

Я уже был начитан о том, что код должен быть оптимизированным, понятным и с комментариями, но я не знал как это правильно сделать. Желание выделяться помогло переступить отсутствие интереса к чтению и я нырнул в литературу, которая в будущем рассказала мне каким должен быть код. И не зря. Это научило меня многим вещам и хотелось с нетерпением их использовать. Примерно на этом этапе я почти полностью отказался от чужих работ, которые уже казались мне низкосортными и тяжелыми, хотя не понимал, что тогда я писал не намного лучше, а порой и хуже.

О, еще читаешь?

— Ассистент! 3 кубика дизморали внутривенно — Уже бегу! — Ну что там? — Минуту, еще не подействовало

Окей, о чем это я? Ах, да… Давай я расскажу тебе о проблематике. Начнем с пустяка.

Когда я только начинал писать новости — игроков то и не было даже. Я их писал и грустил от осознания, что они никому, кроме меня не нужны и куча потраченного на тексты времени уходит в никуда. Изменения? — всем насрать. Конкурс? — и че? Опрос — пофиг. Сам себе король, сам себе судья… rollingstone

Но это пол беды. Вторая часть похожа на пощечину самому себе. Это когда ты в сообществе, где и так не очень большая активность дополнительно включаешь фильтр мата и вручную удаляешь срачи и оффтоп. Вот имею я группу. 1500 человек. Смотрю на нее — перекати поле. Смотрю на ‘соседей’ — 300 человек, но 20+ комментов к постам. И пофиг, что чел пишет по слову на комментарий. Пофиг, что 15 из 20 комментариев — срач 2х школьников. Группа выглядит живее. Иногда хочется взять и закрыть глаза на весь мусор в комментах, но принцип правильности въелся и я его не трогаю.

Ну и еще дикий геммор этим всем буквально в одиночку заниматься. Помимо пролетающих от усталости мыслей о том, не бросить ли все это и просто рубить бабло, по крышке гроба приятного дня еще бьют личности, которые убивают его всего 1 маааленьким разговорчиком о том, что ‘админ обленился, обнов нет’.

Вот видишь эту толпу из десятков тысяч игроков, которые когда-либо заходили на проект? Так вот если тот, кого ты из этой толпы выберешь сможет хотя бы приближенно рассказать о том, что такое поддержание проекта в деле — получишь 100$

Админ обленился - обнов нет

Твой труд никто не замечает и не может оценить по достоинству. Когда я только начинал заниматься проектом — я пихал на сервер чужие разработки и хвастался большим ченджлогом. Теперь, когда почти все разработки свои, а сильные изменения в ченджлоге раз в неделю/месяц — находится толпа тех, кто говорит, что проект скатился и обнов нет. Читая это, тебе, наверное, трудно понять что я в такие моменты чувствую, но представь, что ты делаешь какую-то конкурсную работу год-два, тщательно все планируешь, приносишь и показываешь что-то новое, уникальное, хотя почему-то сыроватое, а победителем выбирают Васю с стыренной из сети работой, над которой тот посидел всего денек-второй. ОО, РАЙСКОЕ НАСЛАЖДЕНИЕ. А потом попробуй объяснить людям почему ты такой злой мудак.

И, пожалуй, последнее. Армия хейтеров. Это может быть кто угодно. Школьник, получивший ‘бан ни за что'(а на самом деле просто тупой даун, который даже не понял, что он нарушил, потому что на других НАРМАЛЬНЫХ ПРАЭКТАХ ЭТА НЕ НАРУШЕНИЕ) или же обиженный на твой успех конкурент, количество которых со временем только растет и может измеряться десятками, да это может быть даже какой-то левый тип, который для проверки своей игрушки случайно выделил твой ип. Я говорю о DDoS атаках. Это доставляет дискомфорт тебе и тешит самолюбие инициатору, до которого как-то не доходит, что несмотря на его атаки онлайн проекта спокойно восстанавливается в течении недели и уж вряд ли как-то нанесет финансовый ущерб хорошему овнеру, у которого есть средства на эти случаи. Некоторые еще и деньги требуют за прекращение атаки. Хах.

Эй, парень. Все хорошо?

— Ассистент, мой слушатель странно выглядит. Он говорит, что все хорошо и дизмораль не повлияла, но я ему не верю — Колоть мотивин? — Да, лишним не будет — Вооот. Готово

Но не все так плохо. Старания вознаграждаются не только в сказках.

За счет моего курса на правильность я обрел гору опыта, которую не придется тянуть за собой. Это исключительно полезные знания и решение создать свой проект хорошим изменило мою жизнь целиком и полностью. Сейчас я легко могу зарабатывать на копирайтинге, маркетинге, графическом дизайне, луа программистом, стафф менеджменте и пассивных продажах. Кроме того я заработал деньги на обучение в частном учебном заведении и учусь на разработчика ПО — инвестировал в себя. Этого всего не было бы, если бы я выбрал изи вэй, чисто рубя зелень.

И помнишь, я говорил, что не могу назвать свое детище отличным (или как еще модно говорить — идеальным)? Не возникал вопрос почему? Ведь некоторые так называют свои проекты, сделанные ‘на коленке’ за недельку-месяц. Все дело в том, что я максималист. В том, чем мне нравится заниматься нет предела совершенству.

Действуй не только в своих интересах, иди против шерсти, делай то, что нужно, даже если не хочется. Иди до конца даже если руки опускаются. Не ищи оправдания отсутствию обновлений (атаки, другая работа) — кто хочет, тот ищет решение. Кто не хочет — ищет причину. Любя свою работу и полностью отдав себя ей ты обязательно добьешься успеха.

· 2 мин. чтения

Заголовок вышел довольно «громким», но суть касается лишь тех, кто пишет много подряд, когда я не нахожусь в процессе активного общения. Тоесть, это касается именно начала разговора, а не его неподсредственного процесса.

Хочу сразу подметить, что у меня несколько девайсов сразу сигнализируют о новом сообщении. Комп, телефон, иногда еще планшет. Тоесть, когда приходит сообщение в ВК, оповещение срабатывает сразу на всех. Такой себе «бульк, пумп, бжик». Вырубать оповещения на время работы не вариант, так как работаю я целый день, но просто не все время. Это избавляет от перегрузки и усталости. Обработка этих сообщений также является частью работы.

Бесит это потому что работа моя по большой части требует тишины и покоя (В основном я занимаюсь разработкой). И вот когда сидишь, пол часа залипаешь в блок кода, чтобы понять как его сделать лучше или почему он не работает, в голове строится огромная цепочка мыслей с инфой о том, в каком случае он выполнится.

Любой звук в этом случае — удар молотком по голове. Если после одного сообщения легко оклематься (просто попробовать не обратить внимания), то когда тебе пишут 10 сообщений подряд, ты начинаешь думать, что это что-то срочное и уже сложно не посмотреть что там. А там у нас «Амд. Слушай. Тут хрень одна. Ты тут? Ладно, не важно. Ну так вот. Один чел…», где одна точка — одно сообщение.

А еще часто бывает такое, что флудить начинают, когда ты спишь. Все рядомнаходящиеся девайсы врываются в твой мозг сквозь сон и через пол минуты ты готов порвать того, кто тебе написал. Сон испорчен, пол дня усталость и испорченное настроение в комплекте.

Ну так вот хочу сказать. Если ты, тот, кто это читает, попал сюда потому что я тебе дал эту ссылку после того, как ты написал пару тупых сообщений подряд, то ты ебанный долбоеб с блядским расстройством мозга. Почему нельзя написать первое сообщение большим?