Jump to content
K1D0

The biggest scammer in the TOP community. @White Telegram: @DevelopmentCorporation

Recommended Posts

Hello everyone in the community. I come here to share something for you so that it doesn’t happen the same as what happened with me and some other people because of this @White guy from IN-PKO. All the proofs are below of the post. I’m only doing this to prevent another person from going through the same situation I went through.

(HE DELETED ALL MESSAGES FROM OUR CHAT)

Screenshot_2021-08-09-01-26-54-478_org.t

 

Another observation is that the ProxyServer that @White sells so much is saying that it is something created by it. It was created by @V3ctor and the proxyserver source code is 100% similar to the stallserver source code.

unknown.png

 

NOTE: The IN-PKO Admin itself is also controlled by @White on the forum. He keeps protecting himself and saying that his "friend" is trustworthy and telling other lies.

b8b03498bc318d16c93fe50f67266b1e-png.jpg

4526c7141fe4d8dc2c6d1dc615749842.png

 

Note that the same way of writing everything is practically identical to @White.

6ab7bc5e8504c044bb4e851cd8fedf6a-png.jpg

ba6c8cc5179ec1565ba2f257a8a8fe2f-png.jpg

 

 

ANOTHER NOTE: HE MADE ME WAIT SINCE THE MONTH SINCE MARCH/APRIL.

Here is our chat after I told him that I would send evidence here. He tried to delete everything but I had saved some proofs before. (Telegram: @DevelopmentCorporation) This guy is promising to sell fixed 100% CO files and in addition he’s making false promises to his buyers. In addition to trying to sell and share files that do not belong to him. I have proof of just about everything.

Screenshot_2021-07-28-09-12-44-996_org.tScreenshot_2021-07-28-09-11-53-392_org.tScreenshot_2021-07-28-09-10-41-993_org.tScreenshot_2021-07-28-09-13-07-476_org.t

 

These two community members ( @ShadowJr and  @Todeswalzer) were also scammed by him and had their files shared to me through @White Promise of 100% CO files "Never shared" that he promised to @ShadowJr since he had already told me this before in the same way to try to sell. This Gameserver Source Code that he shared to me was not his but from @Todeswalzer.

unknown.png

unknown.png

21b58a7cc76af5ad1d4b5a0e66ed60ee.png

 

These are @White chats trying to sell "100% fixed corsairs" files to @ShadowJr trying to fool yet another community member with these shitty files.

unknown-21.png

unknown-24.png

unknown-18.png

 

All my payments and proofs I have about my deal with @White. PAYMENTS! CHATS (I don't know if they are in the right sequence but these are the ones I have.)

unknown.png

 

GROUP CHATS WITH ME AND @1g0rS1lv4 AND @White.

1a7ca3d482cb012f86af9f5c22b8f279.pnga0729730321c460ac73a4b8ff251dd13.png82bf6b42807e293641dada506cb4db69.png2d674febd236b67206323719ae9d4984.pngd54a5ff059e115dc8cec760bf46bb083.png

  • Like 1
  • Thanks 2
  • Confused 1

Share this post


Link to post
Share on other sites

Hello, @K1D0!

 

I totally agree with your opinion regarding his reputation. I am sure that In-PKO, White, Lua and other fake accounts to make visibility of activity and mislead people are the same person. This fact is confirmed by his message (which he hastened to remove) in your topic on in-pko forum:

 

1.png

 

It is not a news that he sells other people's work for money and says it his development. Compare these files from 'his' ProxyServer source code with my ones from StallServer. There are even my comments in Russian.

 

Settings.h:

Spoiler

#pragma once
#include <string>
#include <vector>
#include <stdexcept>

#define ModuleWeb false
#define ModuleAntiDBG false

namespace PKO
{

	// Тип списка карт, на которых работают оффлайн-ларьки
	typedef std::vector<std::string> map_list_t;

	// Класс исключения
	class settings_exception : public std::runtime_error
	{
		public:
			settings_exception(const std::string& what_arg) :
				std::runtime_error(what_arg) { }
			virtual ~settings_exception() { }
	};

	// Класс настроек сервера оффлайн-ларьков
	class CSettings
	{
		public:

			// Конструктор
			CSettings();

			// Деструктор
			~CSettings();

			// Загрузить настройки из файла
			void load(const std::string& path);

			// Установить порт
			void setListenPort(unsigned short int port);

			// Получить настройки
			unsigned short int listen_port() const;
			unsigned short int gate_server_port() const;
			const std::string& gate_server_ip() const;
			unsigned int player_pool_size() const;
			bool wpe_protection() const;
			unsigned short int wpe_version() const;
			bool auto_close_on_empty() const;
			bool is_debug_enabled() const;
			const map_list_t& map_list() const;
			unsigned int max_stalls_per_ip() const;
			unsigned int max_offline_trade_time() const;
			unsigned int vessel_deed_id() const;
			unsigned int max_connect() const;
			unsigned int connect_interval() const;
			
			#if ModuleWeb

				// Настройки веб сервера
				std::string web_get_ip() const;
				int web_get_port() const;
				std::string web_get_key() const;
				bool isWebEnable() const;

			#endif

		private:

			// Запретим копирование
			CSettings(const CSettings&) = delete;
			CSettings& operator=(const CSettings&) = delete;

			// Порт для подключения клиентов
			// Game.exe <-> Proxy Server.exe
			unsigned short int m_listen_port;

			// Начальный размер пула игроков
			unsigned int m_player_pool_size;

			// IP адрес GateServer.exe
			std::string m_gate_server_ip;

			// Порт GateServer.exe
			unsigned short int m_gate_server_port;

			// Список карт, на которых разрешена работа
			// оффлайн-ларьков
			map_list_t m_map_list;

			// Включена ли защита от WPE/RPE
			bool m_wpe_protection;

			// Версия защиты Wpe/Rpe
			unsigned short int m_wpe_version;

			// Автоматически закрывать пустые ларьки
			bool m_auto_close_on_empty;

			// Включена ли отладка
			bool debug_enabled;

			// Количество ларьков с одного IP
			unsigned int m_max_stalls_per_ip;

			// Максимальное время торговли
			unsigned int m_max_offline_trade_time;

			// Ключ HTTP-сервера
			std::string m_http_key;

			// ID предмета купчая на судно
			unsigned int m_vessel_deed_id;

			// Максимальное кол-во соединений от клиентов
			unsigned int m_max_connect;

			// Промежуток между соединениями
			unsigned int m_connect_interval;

			#if ModuleWeb

				// Ip веб-сервера
				std::string webIp;
				// Порт веб-сервера
				int webPort;
				// Ключ веб-сервера
				std::string webKey;
				// Включен ли веб-сервер
				bool webEnable;
			
			#endif

	};


}

 

Settings.cpp

Spoiler

#include <fstream>
#include <algorithm>
#include "Settings.h"
#include <iostream>
#include "../../Class/Utils/Utils.h"

// Обработчик консоли
extern HANDLE handle;

// Напечатать цветом
extern void WriteColorText(HANDLE handle, std::string str, WORD color);

namespace PKO
{
	// Конструктор
	CSettings::CSettings() :
		m_listen_port(1973), m_player_pool_size(1024),
		m_gate_server_ip("127.0.0.1"), m_gate_server_port(1024),
		m_max_connect(500), m_wpe_protection(false), m_auto_close_on_empty(false), m_wpe_version(0),
		debug_enabled(false), m_max_stalls_per_ip(0),
		m_max_offline_trade_time(0), m_vessel_deed_id(3988), m_connect_interval(0)

		#if ModuleWeb 
				, webIp("127.0.0.1"), webPort(111), webKey("secretKey"), webEnable(false) 
		#endif

	{
		m_map_list.reserve(32);
	}

	// Деструктор
	CSettings::~CSettings()
	{

	}

	// Загрузить настройки из файла
	void CSettings::load(const std::string& path)
	{
		// Открываем файл
		std::ifstream cfg(path);
		if (!cfg.is_open()) {

			std::cout << "Can't open file with settings: ";
			WriteColorText(handle, path, 14);
			std::cout << "!" << std::endl;

			throw settings_exception("Error: settings file not found!");

		}

		// Читаем файл построчно
		std::string line, section, param, value;
		size_t line_counter = 0;

		while (std::getline(cfg, line))
		{
			// Считаем строки
			line_counter++;

			// Удаляем из строки лишние пробелы
			line = CUtils::TrimString(line);

			// Пропускаем пустые строки
			if (line.empty()) {
				continue;
			}

			// Пропускаем закомментированные строки
			if (line.find("//") == 0) {
				continue;
			}

			// Удаляем из строки комментарии
			line = CUtils::DeleteComments(line);

			// Получаем название секции
			if (line.front() == '[' && line.back() == ']')
			{
				section = CUtils::TrimString(line.substr(1, line.length() - 2));
				std::transform(section.begin(), section.end(), section.begin(), ::tolower);
			}
			else
			{
				// Получаем название параметра
				size_t eq_pos = line.find('=');
				if (eq_pos == std::string::npos)
				{
					// Ошибка синтаксиса
					throw settings_exception("Can't load settings, error at " +
						std::to_string(line_counter) + " line!");
				}

				param = CUtils::TrimString(line.substr(0, eq_pos));
				value = CUtils::TrimString(line.substr(eq_pos + 1, line.length() - 1));

				if (section == "toclient")
				{
					if (param == "port")
					{
						try {
							m_listen_port = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid listen port at line " + std::to_string(line_counter) + "!");
						}
					}
					else if (param == "pool_size")
					{
						try {
							m_player_pool_size = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid client pool size at line " + std::to_string(line_counter) + "!");
						}
					}
				}
				else if (section == "togate")
				{
					if (param == "host") {
						m_gate_server_ip = value;
					}
					else if (param == "port")
					{
						try {
							m_gate_server_port = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid gate server port at line " + std::to_string(line_counter) + "!");
						}
					}
				}
				else if (section == "maps")
				{
					if (param == "map") {
						m_map_list.push_back(value);
					}
				}
				else if (section == "proxy")
				{
					if (param == "max_connect")
					{

						try {
							m_max_connect = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid max connected at line " + std::to_string(line_counter) + "!");
						}

					}
					else if (param == "connect_interval")
					{

						try {
							m_connect_interval = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid connect interval at line " + std::to_string(line_counter) + "!");
						}

					}
				}
				else if (section == "protection")
				{
					if (param == "enabled") {

						m_wpe_protection = (value == "0") ? false : true;

					} 
					
					// Запрещаем менять версию
					 else if (param == "version") {

						try {
							m_wpe_version = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid protection version at line " + std::to_string(line_counter) + "!");
						}

					}
				}
				else if (section == "game")
				{
					if (param == "auto_close_on_empty") {
						m_auto_close_on_empty = (value == "0") ? false : true;
					}
					else if (param == "max_stalls_per_ip")
					{
						try {
							m_max_stalls_per_ip = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid limit offline stalls per ip at line " + std::to_string(line_counter) + "!");
						}
					}
					else if (param == "max_offline_trade_time")
					{
						try {
							m_max_offline_trade_time = static_cast<unsigned short int>(std::stoi(value)) * 1000;
						}
						catch (...) {
							throw settings_exception("Invalid max offline trade time at line " + std::to_string(line_counter) + "!");
						}
					}
					else if (param == "vessel_deed_id")
					{
						try {
							m_vessel_deed_id = static_cast<unsigned short int>(std::stoi(value));
						}
						catch (...) {
							throw settings_exception("Invalid Vessel Deed ID at line " + std::to_string(line_counter) + "!");
						}
					}
				}
				/*
				else if (section == "debug")
				{
					if (param == "enabled") {

						debug_enabled = (value == "0") ? false : true;
					}
				}
				*/
				#if ModuleWeb
				else if (section == "web")
				{
					
					if (param == "enabled") {

						webEnable = (value == "0") ? false : true;

					} else if (param == "host") {

						webIp = value;

					} else if (param == "port") {

						try {

							webPort = static_cast<unsigned short int>(std::stoi(value));

						} catch (...) {

							throw settings_exception("Invalid web server port at line " + std::to_string(line_counter) + "!");
						
						}

					} else if (param == "key") {

						try {

							webKey = value;

						} catch (...) {

							throw settings_exception("Invalid web server key at line " + std::to_string(line_counter) + "!");

						}

					}
					
				}
				#endif
			}
		}

		// Закрываем файл
		cfg.close();
	}

	// Получить настройки
	unsigned short int CSettings::listen_port() const
	{
		return m_listen_port;
	}

	void CSettings::setListenPort(unsigned short int port)
	{
		m_listen_port = port;
	}

	unsigned short int CSettings::gate_server_port() const
	{
		return m_gate_server_port;
	}

	const std::string& CSettings::gate_server_ip() const
	{
		return m_gate_server_ip;
	}

	unsigned int CSettings::player_pool_size() const
	{
		return m_player_pool_size;
	}

	bool CSettings::wpe_protection() const
	{
		return m_wpe_protection;
	}

	unsigned short int CSettings::wpe_version() const {

		return m_wpe_version;

	}

	bool CSettings::auto_close_on_empty() const
	{
		return m_auto_close_on_empty;
	}

	bool CSettings::is_debug_enabled() const
	{
		return debug_enabled;
	}

	const map_list_t& CSettings::map_list() const
	{
		return m_map_list;
	}

	unsigned int CSettings::max_stalls_per_ip() const
	{
		return m_max_stalls_per_ip;
	}

	unsigned int CSettings::max_offline_trade_time() const
	{
		return m_max_offline_trade_time;
	}

	unsigned int CSettings::vessel_deed_id() const
	{
		return m_vessel_deed_id;
	}

	unsigned int CSettings::max_connect() const
	{
		return m_max_connect;
	}

	unsigned int CSettings::connect_interval() const
	{
		return m_connect_interval;
	}

	#if ModuleWeb

		std::string CSettings::web_get_ip() const {

			return webIp;

		}

		int CSettings::web_get_port() const {

			return webPort;

		}

		std::string CSettings::web_get_key() const {

			return webKey;

		}

		bool CSettings::isWebEnable() const {

			return webEnable;

		}

	#endif

}

 

You can notice that he made some ridiculous edits which indicate his little knowledge of the C++ language. I am not an expert too, but the need to pass 'large' objects by reference and not by value is the basics.

  • Like 4

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.


×
×
  • Create New...