Jump to content
Sign in to follow this  
wanna_ice

клиент анти-бот

Recommended Posts

Всем привет! Давно не занимался пиратией уже... Решил снова взяться за свой сервер. Вопрос по теме, как установить в клиент анти-бота? Чтобы при юзании скила типа "зажигательной пули" клиент получал форму с капчей. Это как-то HEX-ить надо? И как с настройками быть. Время таймера и тд. Или это специальный клиент?

Не нашел на форуме тему.

 

PS: Смогут ли обойти такую защиты какие-нибудь хакеры? 

Edited by wanna_ice

Share this post


Link to post
Share on other sites

А какие модификации - все умалчивают.

 

Присоединяюсь к ТС - тоже интересует включение капчи на сервере

Share this post


Link to post
Share on other sites

@wanna_ice, @rsprince, была реализация без хекса ( к сожалению, у меня она была утеряна, по этому помочь в данном вопросе я не смогу), но не знаю подойдет ли она Вам.
Действовала она так - Выводилось диалоговое окно с просьбой вести рандомные символы в локальный чат (рандомному персонажу, с рандомным шансом), если игрок успевал за определенное время вести правильную комбинацию, то он оставался на сервере, если нет получал предупреждение. Если при следующей комбинации он снова ошибался, то он вылетал из игры. По желанию, данное действие можно логировать в отдельный файл.

В целом думаю кто знает lua, без проблем сможет такое реализовать.

Edited by aleksandr

Share this post


Link to post
Share on other sites
5 минут назад, aleksandr сказал:

@wanna_ice, @rsprince, была реализация без хекса ( к сожалению, у меня она была утеряна, по этому помочь в данном вопросе я не смогу), но не знаю подойдет ли она Вам.
Действовала она так - Выводилось диалоговое окно с просьбой вести рандомные символы в локальный чат (рандомному персонажу, с рандомным шансом), если игрок успевал за определенное время вести правильную комбинацию, то он оставался на сервере, если нет получал предупреждение. Если при следующей комбинации он снова ошибался, то он вылетал из игры. По желанию, данное действие можно логировать в отдельный файл.

В целом думаю кто знает lua, без проблем сможет такое реализовать.

Сия тема не интересна в виду отсутствия "ностальгии" по старому доброму (хоть и кривому) руоффу =)

а так по твоей предложке - BickerNotice (чтоб на весь экран) и таймер отсчета, все дела.

 

По сабжу вспомнил - вроде ГС redSquid обладал этой функциональностью, но в свое время я так и не проверил это.

Именно интересна реализация той самой капчи

Share this post


Link to post
Share on other sites
1 минуту назад, rsprince сказал:

Сия тема не интересна в виду отсутствия "ностальгии" по старому доброму (хоть и кривому) руоффу =)

а так по твоей предложке - BickerNotice (чтоб на весь экран) и таймер отсчета, все дела.

 

По сабжу вспомнил - вроде ГС redSquid обладал этой функциональностью, но в свое время я так и не проверил это.

Именно интересна реализация той самой капчи

Если интересует именно система капчи, то с данным вопросом Вам точно поможет @V3ct0r :)

Share this post


Link to post
Share on other sites
В 20.08.2018 в 17:51, wanna_ice сказал:

Всем привет! Давно не занимался пиратией уже... Решил снова взяться за свой сервер. Вопрос по теме, как установить в клиент анти-бота? Чтобы при юзании скила типа "зажигательной пули" клиент получал форму с капчей. Это как-то HEX-ить надо? И как с настройками быть. Время таймера и тд. Или это специальный клиент?

Не нашел на форуме тему.

 

PS: Смогут ли обойти такую защиты какие-нибудь хакеры? 

можно реализовать с помощью ЛУА защиту от Авто-атаки на одном месте. 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

GameServer.exe версии 1.38 с включенным антиботом.

 

ab1.png

 

ab2.png

 

Антибот не работает, если:

  • Персонаж игрока GM или HD (GM-уровень > 0);
  • Персонаж игрока находится в безопасной зоне;
  • Персонаж игрока находится в PvP зоне.

Награда за правильно введенный проверочный код настраивается в функции WGPrizeBegin(), файл functions.lua.

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

  • Thanks 2

Share this post


Link to post
Share on other sites
В 23.08.2018 в 17:43, V3ct0r сказал:

GameServer.exe версии 1.38 с включенным антиботом.

 

ab1.png

 

ab2.png

 

Антибот не работает, если:

  • Персонаж игрока GM или HD (GM-уровень > 0);
  • Персонаж игрока находится в безопасной зоне;
  • Персонаж игрока находится в PvP зоне.

Награда за правильно введенный проверочный код настраивается в функции WGPrizeBegin(), файл functions.lua.

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

 

 

 

Чуть позже выложу простой способ обхода данной приблуды 😁 (может даже видео-гайд)

  • Like 1

Share this post


Link to post
Share on other sites
В 31.08.2018 в 04:04, Waka~ сказал:

Чуть позже выложу простой способ обхода данной приблуды 😁 (может даже видео-гайд)

Давай, интересно посмотреть

Share this post


Link to post
Share on other sites
On 8/31/2018 at 4:04 AM, Waka~ said:

Чуть позже выложу простой способ обхода данной приблуды 😁 (может даже видео-гайд)

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

 


Share this post


Link to post
Share on other sites
7 часов назад, aoikotory сказал:

Ребят дайте плэз обход этого антибота, реально в печенке уже сидит, все облазил и нигде не нашел((

ну у нас есть тут старый тру-хацкер, обещался, только вот тишина до сих пор =)

Share this post


Link to post
Share on other sites

antibot.png

 

ab.png

 

Выкладываю исходный код DLL (C++), которая автоматически распознает капчу и отправляет ответ на сервер.

 

Зависимости:

 

DLL написана и протестирована в Microsoft Visual Studio Community 2017.

В исходник забиты адреса объектов, методов и функций для Game.exe из 1.38 ру. оф. клиента.

#define _CRT_SECURE_NO_WARNINGS

#include <Windows.h>
#include <detours.h>
#include <iostream>
#include <string>
#include <baseapi.h>
#include <allheaders.h>
#include <EasyBMP.h>

// -------------------------------------------
// Адреса
// -------------------------------------------
const unsigned int oGameAppAddr = 0x00660540;
const unsigned int oNumAnswerMgr = 0x00668AD8;
const unsigned int fSetBmpAddr = 0x004781F0;
const unsigned int fSysInfoAddr = 0x0040E300;
const unsigned int fSendCheck = 0x0050AA90;
const unsigned int fShowForm = 0x00477CF0;
// -------------------------------------------
// Пути
// -------------------------------------------
const std::string tempImagePath = ".\\user\\";
const std::string tessDataPath = ".\\tessdata";
// -------------------------------------------

typedef void(__cdecl *SysInfoPtr)(void *, const char *, ...);
typedef void(__thiscall *SetBmpPtr)(void *, int, char *, int);
typedef void(__cdecl *SendCheckPtr)(const char *);
typedef void(__thiscall *ShowFormPtr)(void *, bool);

SetBmpPtr SetBmp_Original = (SetBmpPtr)(void *)fSetBmpAddr;
SysInfoPtr SysInfo = (SysInfoPtr)(void *)fSysInfoAddr;
SendCheckPtr SendCheck = (SendCheckPtr)(void *)fSendCheck;
ShowFormPtr ShowForm_Original = (ShowFormPtr)(void *)fShowForm;

tesseract::TessBaseAPI *OCR = nullptr;

std::string Answer = "";
bool proccess = false;

// Заполнен пиксель или нет
bool IsPixelFilled(const RGBApixel& px)
{
	unsigned int r = static_cast<unsigned int>(px.Red);
	unsigned int g = static_cast<unsigned int>(px.Green);
	unsigned int b = static_cast<unsigned int>(px.Blue);

	if (r == g && g == b && b == 255) {
		return false;
	}

	return true;
}

// Функция фильтрации
void FilterFunc(BMP& Bmp)
{
	// Пустой (белый пиксель)
	RGBApixel emptyPixel;
	emptyPixel.Alpha = 0;
	emptyPixel.Red = 255;
	emptyPixel.Blue = 255;
	emptyPixel.Green = 255;

	// Размеры изображения
	unsigned int width = Bmp.TellWidth();
	unsigned int height = Bmp.TellHeight();

	// Обрабатываем изображение
	for (unsigned int x = 0; x < width; x++)
	{
		for (unsigned int y = 0; y < height; y++)
		{
			if (x == 0 || y == 0 || x == (width - 1) || y == (height - 1))
			{
				Bmp.SetPixel(x, y, emptyPixel);
			}
			else
			{
				if (IsPixelFilled(Bmp(x - 1, y)) == false &&
					IsPixelFilled(Bmp(x + 1, y)) == false &&
					IsPixelFilled(Bmp(x, y - 1)) == false ||
					IsPixelFilled(Bmp(x, y + 1)) == false &&
					IsPixelFilled(Bmp(x, y)) == true)
				{
					Bmp.SetPixel(x, y, emptyPixel);
				}
			}
		}
	}
}

// Убрать шумы с изображения и сохранить его в файл
void FilterAndSave(const std::string& Path, char *data, int size)
{
	// Объект для работы с BMP
	BMP Bmp;

	// Загружаем изображение из памяти
	Bmp.ReadFromBuffer(reinterpret_cast<unsigned char *>(data), size);

	// Фильтруем...
	FilterFunc(Bmp);
	FilterFunc(Bmp);
	FilterFunc(Bmp);

	// Сохраняем изображение во временный файл
	Bmp.WriteToFile(Path);
}

// Убрать лишние символы из строки
std::string& trim(std::string& str)
{
	std::string chars = "\t\n\v\f\r ";
	str.erase(0, str.find_first_not_of(chars));
	str.erase(str.find_last_not_of(chars) + 1);

	return str;
}

// Функция, которая получает BMP-изображение
//  с символом от сервера
void __fastcall SetBmp_Hooked(void *This, void *notUse, int n, char *data, int size)
{
	// Вызываем оригинальную функцию
	SetBmp_Original(This, n, data, size);

	// Начинаем распознавать символы капчи ...
	if (n == 0)
	{
		// Отображаем сообщение пользователю
		//  что сервер запрашивает код
		SysInfo(reinterpret_cast<void *>(oGameAppAddr), "<Анти-антибот>: Сервер запрашивает ответ на 4 буквенный код!");
		
		// Инициализиурем код и флаг отсутствия ошибок
		Answer = "";
		proccess = true;
	}

	// Если нет ошибок, то распознаем текущее изображение
	if (proccess)
	{
		// Путь до временного файла с изображением
		std::string path = tempImagePath + std::to_string(n) + ".bmp";

		// Убираем шумы с изображения
		//  и сохраняем его в файл
		FilterAndSave(path, data, size);

		// Загружаем изображение в память 
		//  для последующей обработки библиотекой tesseract
		Pix *pix = pixRead(path.c_str());
		if (pix != nullptr)
		{
			// Распознаем символ
			char outText[8];
			OCR->SetImage(pix);
			lstrcpyA(outText, OCR->GetUTF8Text());

			// Преобразовываем символ в std::string
			std::string Letter(outText);

			// Убираем из строки с символом лишние символы
			Letter = trim(Letter);

			// Проверяем, что символ удалось распознать
			if (Letter == "")
			{
				proccess = false;
				std::string Msg = "<Анти-антибот>: Не удалсь распознать " + std::to_string(n + 1) + "-й символ!";
				SysInfo(reinterpret_cast<void *>(oGameAppAddr), Msg.c_str());
			}
			else {
				// Запоминаем символ
				Answer += Letter;
			}

			// Освобождаем память
			pixDestroy(&pix);
		}

		// Отправляем ответ на сервер
		if (n == 3)
		{
			// Код был успешно распознан
			if (proccess == true)
			{
				std::string Msg = "<Анти-антибот>: Распознанный код: " + Answer + ".";
				SysInfo(reinterpret_cast<void *>(oGameAppAddr), Msg.c_str());
				SysInfo(reinterpret_cast<void *>(oGameAppAddr), "<Анти-антибот>: Отправляем ответ на сервер...");
				SendCheck(Answer.c_str());
			}
			else
			{
				// Говорим пользователю, что не удалось распознать капчу
				SysInfo(reinterpret_cast<void *>(oGameAppAddr),
					"<Анти-антибот>: Не удалсь распознать 4-буквенный код! Введите код вручную.");
				// Отображаем форму для ввода капчи
				ShowForm_Original(reinterpret_cast<void *>(oNumAnswerMgr), true);
			}
		}
	}
}

// Хук на метод отображения формы ввода кода
void __fastcall ShowForm_Hooked(void *This, void *notUse, bool show)
{
	// Ничего не делаем...
}

// Точка входа
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{

    switch (ul_reason_for_call)
    {

		case DLL_PROCESS_ATTACH:

			// Загружаем библиотку tesseract
			OCR = new tesseract::TessBaseAPI();
			if (OCR->Init(tessDataPath.c_str(), "eng") != 0) {
				return FALSE;
			}

			// Устанавливаем хуки
			DetourRestoreAfterWith();
			DetourTransactionBegin();
			DetourAttach(&(PVOID&)SetBmp_Original, SetBmp_Hooked);
			DetourAttach(&(PVOID&)ShowForm_Original, ShowForm_Hooked);
			DetourUpdateThread(GetCurrentThread());
			DetourTransactionCommit();

			break;

		case DLL_PROCESS_DETACH:

			// Снимаем хуки
			DetourTransactionBegin();
			DetourUpdateThread(GetCurrentThread());
			DetourDetach(&(PVOID&)SetBmp_Original, SetBmp_Hooked);
			DetourDetach(&(PVOID&)ShowForm_Original, ShowForm_Hooked);
			DetourTransactionCommit();

			// Выгружаем библиотеку tesseract
			OCR->Clear();
			OCR->End();

			break;

    }

    return TRUE;
}

При запросе ответа на капчу, сервер отправляет клиенту 4 случайных BMP-изображения из папки GameServer\resource\Pic. Эти изображения являются монохраматическими, т.е. имеют цветность 1 бит (палитра состоит из 2 цветов - белого и черного), размеры 26 на 29 пикселей и весят 178 байт.

 

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

 

Изображения, которые лежат в папке Pic сервера:

H.pngM.pngY.png

 

Примеры изображений, которые получает клиент:

H.pngm.jpgy.png

 

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

M0.png => M1.png => "M"

 

Стоит отметить, что DLL распознает капчу с не 100% вероятностью: могут возникать ошибки распознавания текста. Если DLL вообще не может распознать какой-либо символ из 4-буквенного кода, то появляется окошко для ввода капчи и управление процессом передается пользователю (на скриншоте в шапке поста окошко ввода капчи отображается принудительно). Также DLL может перепутать символы, например, символ "6" на изображении определить как букву "C", в этом случае на сервер будет отправлен неверный код, и сервер может кикнуть игрока после 3-ех неверных попыток.

 

В общем, думаю идея всем понятна.

  • Like 2
  • Confused 1

Share this post


Link to post
Share on other sites

@Stinger, чувак, я не собираюсь перед тобой оправдываться. Просто потому что я могу, вот и все. Я думаю, многим ребятам будет интересно посмотреть как работают такие штуки и они возьмут эту информацию для своего развития.

 

Quote

Зачем портить игру , у кого то ведь работают эти каптчи, просто нету слов ...

Скажи, на скольких серверах работает капча? На 1.5 из 20? Более того, я слышал, что этот антибот раздражает игроков и у меня просили наоборот вырезать его из игры. Далее, я выложил только исходный код. Как ты думаешь, сколько человек захочет заморачиваться, скачивать и устанавливать требуемые библиотеки, компилировать DLL и цеплять её к клиенту? И в конце концов, я написал: "Стоит отметить, что DLL распознает капчу с не 100% вероятностью", а ты уже обосрался.

 

Quote

Думаешь, кто то кроме тебя ещё бы написал тут это ?

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

 

Quote

Тут дело даже не в знаниях, в клиенте полно дыр, но мы работаем на улучшение игры а не на её разрушение .

Это ты что ли работаешь над улучшением игры? Ну-ка, покажи нам свои удивительные разработки? А где ты был в далеком 2009 году, когда это все только начиналось? Когда мы не то чтобы о дырах и багах думали, мы не знали как запустить сервер и подключить к нему клиент.

 

Quote

Может исходный код защиты выложишь ? Сомневаюсь!

Не сомневайся, друг. Если бы ты был внимателен, то давно знал бы что:

 1) Первичная защита от WPE/RPE для клиента была выложена на MD, сейчас её можно найти в архиве:

st1.png

 

2) Защиту от рисования скиллов (в т.ч. 20 уровня) и исправление бага поиска отряда в море, а так же подробное описание как они работают, я выложил в соседнем разделе: раз и два;

3) Защиты от SQL инъекций и WPE/RPE на сервере были написаны на Ассемблере. Это значит, что никаких исходных кодов нет и что вот прям сейчас ты можешь открыть свои AccountServer.exe, GroupServer.exe и GateServer.exe и посмотреть как там все работает.

 

Quote

А может исходники автообновления, которые ты просто исправил и продаёшь ? Тоже нет ?

Все общее, что моя программа автообновлений имеет с официальной ("из исходников, которые я просто исправил") - это внешний вид (т.н. GUI, форма) и алгоритм обновления. А если учесть факт, что моя программа написана в C++ Builder с использованием библиотеки VCL и работает по протоколу HTTP, а автоапдейтер, про который ты говоришь, написан в Visual Studio с применением библиотеки MFC и работает по протоколу FTP, то ты не прав.

 

Quote

А когда исходники покупали, все очень рассчитывали на тебя, в итоге какой то кал,

Не поверишь, а я очень рассчитывал именно на тебя! Да-да! Каждый день думаю, когда же там Stinger выложит полностью исправленные исходники, чтобы я их скомпилировал, поставил сервер и поднял кучу бабла. И подумаешь, что нужно 100500 человекочасов, я до сих пор верю в тебя!

 

А теперь вопрос другим пользователям: во сколько пиздаболов из десяти вы оцениваете пост Stinger'а? Пишите ответы в комментариях!

  • Like 1

Share this post


Link to post
Share on other sites
9 часов назад, Stinger сказал:

Зачем портить игру , у кого то ведь работают эти каптчи, просто нету слов ...

Думаешь, кто то кроме тебя ещё бы написал тут это ? Это какое то вредительство.

Я не понимаю о каком вредительстве идет речь?  когда тема топика "как установить в клиент анти-бота?"
Был запрос - @V3ct0r сделал реализацию, причем сделал ее и слил в шару. 
Если бы он этого не сделал, парни извратились бы как я и сделали это с помощью LUA.

________________________________________________________________________________________________________
UPD 23:36 
Теперь понимаю, но все равно толку не вижу если есть возможность сделать анти-бот на LUA.
И многие игроки не будут запариваться и делать этот обход, + к этому тут мало кто сидит из игроков.

9 часов назад, Stinger сказал:

А когда исходники покупали, все очень рассчитывали на тебя, в итоге какой то кал,

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

Не знаю почему ТЫ надеялся на него. Их брали для всех и все должны были копаться, но мало кому это было интересно. Я предлагал изначально создать закрытую ветку для обсуждения различных нюансов, но меня никто не поддержал. 
Разговаривая с Пастухом, в момент приобретения, я узнал что там геморроя очень много, о чем могут сказать труды Holter`a. То над чем работал Витя - это сугубо его дело, он не обязан сливать все в шару. 
Многие наши коллеги из соседнего раздела скооперировались и делают отличный проект, на основе исходников, как я понял. 
 

PS кто и как зарабатывает тебя трогать не должно, ты, кроме открытия фан-приваток и паразитирования на проекте, ничего не делаешь.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
37 minutes ago, Stinger said:

1) @V3ct0r, научись воспринимать критику

Про какую критику ты говоришь? Ты наехал на меня, мол я кому-то порчу игру и вообще, я вредитель, а ты этакий благородный Д'Артаньян, который в отличие от меня, прилагает все силы, чтобы улучшить эту игру.

 

Более того, оказывается я должен (!) выложить исходный код защиты и программы автообновлений, а я вместо этого их продаю, такой мерзкий барыга, который удавится ради денег. Чувак, я тебе ничего не должен и ничем не обязан. Я потратил свое собственное время, изучая механизмы взлома сервера, принципы внедрения своего кода в .exe файлы, мне пришлось изучить Ассемблер, после чего нужно было придумать механизм защиты и реализовать его, и в конце концов протестировать результат. И на все это ушло около 6 месяцев. И тут ты такой приходишь и говоришь мне что я должен.

 

Я, значит, выкладываю свои труды в шару, а ты их скачиваешь и ставишь на свой сервер. Мои защита и программа автообновлений обеспечивают тебе стабильный игровой процесс, который, в свою очередь, приносит тебе доходы. В итоге @Stinger у нас богатеет, а @V3ct0r'у большое спасибо. Так что ли должно быть?

 

Есть люди, которые мне помогали при создании защиты, и они получили её бесплатно. Например, Пастух, которого все так хейтят. Я думаю мало кто знает, что именно он придумал механизм защиты от подмены и редактирования пакетов. Так же я могу дать защиту просто так, если вижу что на сервере нет ИМа и админ внес вклад в развитие нашего сообщества. @e1mer не даст соврать, я подарил защиту для его сервера ZEST Online.

 

Quote

 Ты дал защиту безусловно, но от твоих рук и пошли дырки на 20 скиллы, напомнить кто продавал твик для их активации

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

 

Quote

Сейчас ты конечно выложил защиту, но кому она нужна сейчас ? В своё время ты уже продал её всем кому было возможно.

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

 

Quote

2) Разработки у меня действительно есть, пока они находятся на стадии тестирования,

когда нибудь ты их увидишь обещаю.

Ну вот когда увижу, тогда и поговорим. А то пиздеть - не мешки ворочать.

 

Quote

P.S Я высказываю своё мнение и никому не навязываю его, мне была интересна твоя реакция, вижу она получилась бурной,

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

Как прочитаешь можешь удалить это всё, мои комментарии исключительно для тебя.

Слился. В следующий раз приходи с более основательной и убедительной аргументацией.

  • Thanks 1

Share this post


Link to post
Share on other sites

О ебать, а материться разрешено оказывается? А то у меня гайды без мата вообще не так звучат

 

На счет сорсов скажу по опыту - говно. Из коробки не компилятся, одно только WM_WHEEL, если кто заморачивался, говорит за себя.

Для себя толк от них я до сих пор не увидел.

 

Вить, на счет учить ассемблер - это прям сильное заявление, там команд то 60 штук от силы

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

 

А по поводу антиобхода сей приблуды - можно относительно "на изи" заморочаться с ЛУА, забив болт на именно этот антибот. Опять же никто не мешает поменять картинки с папки pic ну и тому подобное

Share this post


Link to post
Share on other sites
3 часа назад, Stinger сказал:

И вот кто кто, а вот ты бы вообще молчал, если Вектор , что то понимает, то ты глотаешь то, что тебе дают , хочешь пари ?

Где я и что глотал по-подробнее, можешь даже в ЛС, дабы не разводить тут оффтоп.
 

Пари? Тогда зачем ты написал это? 

3 часа назад, Stinger сказал:

я сюда зашёл не пи.... меряться.

И где ты увидел писькомерство в моем сообщении? 

 

3 часа назад, Stinger сказал:

ты влазишь не в своё дело, о твоих "успешных" проектах я тоже наслышан

А это твое дело? ты то чего лезешь?

 

3 часа назад, Stinger сказал:

продолжай делать свой морфеус и собирать энтузиастов с онлайном 0.

Если не ты не в курсе я уже 1.5 года не занимаюсь Пиратией для собственного блага, я помогаю начинающим разработчикам.
Я делал проект исключительно для себя, дабы подтянуть свои навыки и всем об этом говорил, то что идея не зайдет игрокам я знал еще задолго до того как был релиз. И да будет тебе известно Морф это был не мой проект, а проект чувака который закинул мне денег дабы я закончил реализацию проекта с его идеями и финансами.
 

3 часа назад, Stinger сказал:

Пока у меня только факты, у тебя балабольство

Никаких фактов не увидел. Моего балабольства тоже, только твое...
 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
В 16.09.2018 в 15:59, Stinger сказал:

Тут дело даже не в знаниях, в клиенте полно дыр, но мы работаем на улучшение игры

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

Есть исходник клиента, не трудно понять что к чему и как работает, разве я не прав?

В 16.09.2018 в 15:59, Stinger сказал:

А когда исходники покупали, все очень рассчитывали на тебя, в итоге какой то кал,

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

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

В 16.09.2018 в 21:50, Stinger сказал:

Короче простыми словами, как то без сопливых обойдёмся, продолжай делать свой морфеус и собирать энтузиастов с онлайном 0.

Я ни на кого не рассчитывал, рассчитывать могу только на себя - другие люди рассчитывали, это легко подтвердить.

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

Ах да, общаюсь с этим человеком и в реальной жизни, хоть и расстояние 4к км, очень хороший человек.

В 16.09.2018 в 22:10, V3ct0r сказал:

Так же я могу дать защиту просто так, если вижу что на сервере нет ИМа и админ внес вклад в развитие нашего сообщества. @e1mer не даст соврать, я подарил защиту для его сервера ZEST Online. 

Плюсану. Когда у меня были проблемы с деньгами, а проект запускать надо было - Витя долго не миньжевался и не торговался, я просто человек с улицы, написал ему "Витя помоги, денег пока нет, проект без ИМа, нужна защита", через 30 минут на моих пофикшено вообще все, хоть об этом и не просили, он сам понял нас, и потратил на нас свое время, за Спасибо.

 

 

Share this post


Link to post
Share on other sites

Ээм...ну, сказать честно, для себя в этой теме я ответа так и не нашёл, видать придётся и дальше по таймеру вводить капчу за пачкули)) 

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

Share this post


Link to post
Share on other sites
9 часов назад, aoikotory сказал:

Ээм...ну, сказать честно, для себя в этой теме я ответа так и не нашёл, видать придётся и дальше по таймеру вводить капчу за пачкули))

Чего ты не нашел если тебе скинули все - бери и делай. 

На этом форуме где то есть тема от @V3ct0r как прицепить DLL, но я не вижу смысла в этом если админ поставит защиту через LUA, тогда придется писать кликер на каком нибудь autoati...
Действуй)
 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...