В теме 16 сообщений

f0295655
Шифоньер

hosttt.png

_____________________________________________________________________________

Framehost.RU - Игровой хостинг SAMP/CRMP по низким ценам!

Мы новая компания среди игровых хостингов, но мы гарантируем стабильность этим:

Защита от TCP SYN и UDP флуда, Spoofing атак

Сайт стоит на нескольких виртуальных машинах

Оперативная память: DDR4-2133 МГц

Процессоры: i7 6700k 4.6 ГГц

Подключение до 300 Mbps

Быстрые SSD накопители
Локации только OVH

Защита  L3, L4,L7 

 

_______________________________________________

Почему стоит выбрать наш хостинг:

 Автоподнятие серверов после падения

Удобная панель управления сервером

Автоматическая установка за 60с

Скоростная тех.поддержка

 Автоустановка модов 15+

 FREE тариф на 5 дней

 Низкий пинг

 Firewall

 

_______________________________________________

Цены:

— GTA: SAMP - 1слот/1руб.
— GTA: CRMP - 1слот/1руб.

 

Тарифы:

GTA | SAMP/CRMP (от 50 до 250 слотов) - LITE(2 CORE, 2gb RAM)
  GTA | SAMP/CRMP (от 250 до 500 слотов) - PRO(4 CORE, 4gb RAM)
  GTA | SAMP/CRMP (от 500 до 1000 слотов) - VIP(6 CORE, 7gb RAM)

 

Бесплатный тестовый тариф на 5 дней:

GTA | SAMP/CRMP - FREE(0.25 CORE, 156mb RAM)

_______________________________________________

Site: Frame Host | Бесплатный игровой хостинг SAMP, CRMP c защитой от Ddos (frame-host.ru)
VK:  Клик

Начало работы хостинга 01.10.2021

Промокод 35% - #PAWN

 

Отредактировано пользователем Cawfee

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

Был изменён тариф FREE, теперь он более мощный:
GTA | SAMP/CRMP - FREE(1 CORE, 256mb RAM)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

Увеличена ширина канала на основной локации, она теперь плавающая 500-1000мбитс.
Так-же теперь появились приватные выделенные сервера, для покупки писать в личные сообщения сообщества.
Конфиг:
2 vCore, 2gb ram, 25gb ssd/nvme(на выбор),
Гарантированная ширина канала 100mbits, приятный пинг(2-35) в России/Украине,
Защита L3 - L4, Порт 7777.
В чём же преимущество? Вся локация в вашем распоряжении.
Цена от 349руб.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

@Martes RolePlay Если взять выделенную локацию, тогда - да.
На общей думаю не стоит открываться, все популярные проекты используют выделенные vds/dedic.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

WebHosting переведён до стадии эксплуатации.
Тарифы:
Lite | 1 сайт, 1 база данных, ssd 512mb, ram 256mb - 25₽/мес.

Pro | 2 сайтa, 2 базы данных, ssd 1024mb, ram 512mb - 50₽/мес.

Vip | 5 сайтов, 5 баз данных, ssd 2048mb, ram 1024mb - 100₽/мес.

Mega | 10 сайтов, 10 баз данных, ssd 5012mb, ram 1512mb - 250₽/мес.

Так-же присутствует базовая ddos защита.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

Была проведена профилактическая работа над DDOS защитой(всех подразделений хостинга)

 

Игровые сервера | AntiDDoS-GAME - L4(до 3 Tbps + Фильтрация подозрительных IP + настроенный FireWall), L7(настроенный FireWall + Фильтрация подозрительных IP + доп.фильтрация Ovh).

Веб хостинг | AntiDDoS-WEB - L4(До 2 Tbps + black list (5000+ ip) + Фильтрация подозрительных IP) L7(настроенный WEB-FireWall + Фильтрация подозрительных IP + vddos-protection).

Испытания проводились реальными Spoofing и DDoS атаками.

Защита будет и дальше улучшаться без оповещения пользователей.

Написаны не все методы защиты ddos атак, а лишь основные.

Отредактировано пользователем f0295655
Причина: Корректировка текста

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

Анонсирована система секретных кодов, в честь этого держите 2 кода по 5 активаций.
Vy0XPzGTA | SAMP - LITE(30 дней, 100 слотов)

YNjS0C - GTA | CRMP 0.3.e - LITE(30 дней, 100 слотов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
f0295655
Шифоньер

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

Старый домен продолжит своё функционирование, но с урезанными возможностями.

@DEST, просьба к тебе заменить ссылочку на хостинг в посте)

Отредактировано пользователем f0295655

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
_bogdan_
Завсегдатый

Ссылка framehost.pro не актуальна. Работает по старой ссылке Тык

Заменил везде ссылки на работающие.

Отредактировано пользователем _bogdan_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Senwik
      От Senwik
      Здравствуйте,где можно скачать КРМП 0.3.7 не бета тест?
    • breznov
      От breznov
      Доброго времени суток уважаемые форумчане !
      Хочу попросить помощь у вас, у меня проблемы с сохранением лидерки в базу данных, код:
       
      new FactionName[32] = "Скинхеды"; new Float:FactionHQX = 123.45, Float:FactionHQY = 678.90, Float:FactionHQZ = 10.11; new FactionMembers[MAX_PLAYERS]; new FactionRank[MAX_PLAYERS]; new FactionLeader = -1; // ID лидера (-1 означает, что лидера нет) new FactionDeputy = -1; // ID заместителя (-1 означает, что заместителя нет)

       
      #define FACTION_SKINHEDS 1 #define LEADER_INFO_DIALOG 1


       
      new const FactionRankNames[][] = {     "Новичок",     "Боец",     "Стрелок",     "Головорез",     "Бригадир",     "Доверенное лицо",     "Советник",     "Заместитель",     "Консильери",     "Дон" };  
      public OnGameModeInit():

       
      public OnGameModeInit() {     ConnectMySQL();     DisableInteriorEnterExits();     EnableStuntBonusForAll(0);     SetGameModeText("Armade RP v2.0");     SendRconCommand("hostname "SERVER_NAME" by Didenko");     LoadMapping();     Iter_Clear(Admins_ITER);     Iter_Clear(Question_ITER);     actor1 = CreateActor(159, 1800.0490, 2506.0791, 15.8725, 269.5358);     ApplyActorAnimation(actor1, "PED", "ROADROSS_FEMALE", 4.1, 1, 1, 1, 0, 0);     Create3DTextLabel("{FFFFFF}Нажмите {ffff00}L.ALT{FFFFFF} чтобы начать взаимодействие", COLOR_GREEN, 1800.0490, 2506.0791, 15.8725, 10.0, 0, 1);     //======================[ Пикапы ]==================================     magazvhod1 = CreatePickup(1318, 23, 2074.3257,1838.3256,12.5391, -1);     magazvihod1 = CreatePickup(1318, 23, -25.5779,-184.9357,1003.5469, -1);     SetTimer("SecondUpdate", 1000, true);     SetTimer("MinuteUpdate", 60000, true);     LoadFactionsData(); // Загружаем данные о фракциях и лидерах     return 1; }
       
      Стоки:

       
      stock LoadFactionsData() {     print("LoadFactionsData: Starting to load factions data...");     new query[64];     format(query, sizeof(query), "SELECT id, FactionLeader FROM factions");     mysql_tquery(dbHandle, query, "LoadFactionsData_Callback");     print("LoadFactionsData: Query sent.");     return 1; } forward LoadFactionsData_Callback(MySQL:handle, Cache:result); public LoadFactionsData_Callback(MySQL:handle, Cache:result) {     new rows = cache_num_rows();     printf("LoadFactionsData_Callback: Number of rows loaded: %d", rows);     if(rows > 0)     {         for(new i = 0; i < rows; i++)         {             cache_set_result(0);             new factionID, factionLeaderID;             if (!cache_get_value_name_int(i, "id", factionID)) {                 printf("[ERROR] LoadFactionsData_Callback: Failed to get 'id' for row %d", i);                 continue; // Переходим к следующей итерации, если не удалось получить ID             }             if (!cache_get_value_name_int(i, "FactionLeader", factionLeaderID)) {                 printf("[ERROR] LoadFactionsData_Callback: Failed to get 'FactionLeader' for row %d", i);                 continue; // Переходим к следующей итерации, если не удалось получить FactionLeader             }             printf("LoadFactionsData_Callback: Row %d: factionID = %d, factionLeaderID = %d", i, factionID, factionLeaderID);             if(factionLeaderID != 0)             {                 FactionLeader = factionLeaderID;                 FactionRank[factionLeaderID] = 10;                 printf("LoadFactionsData_Callback: Setting FactionLeader to %d and rank to 10.", factionLeaderID);                 // Не вызываем здесь SetPlayerSkin, пока не подключится игрок                 //if(IsPlayerConnected(factionLeaderID))                 //{                 //    SetPlayerSkin(factionLeaderID, 115);                 //    PlayerSkin[factionLeaderID] = 115;                 //}             }         }     }     else {         print("LoadFactionsData_Callback: No factions data found in the database.");     }     return 1; } stock SetFactionLeader(playerid, targetid) {     if(player_info[playerid][ADMIN] < 5)     {         SendClientMessage(playerid, CG, "Вы не являетесь администратором!");         return 1;     }     // Убираем старого лидера     if(FactionLeader != -1)     {         FactionRank[FactionLeader] = 1; // Понижаем ранг старого лидера     }     // Назначаем нового лидера     FactionLeader = targetid;     FactionRank[targetid] = 10;     // Сохраняем ID лидера в базу данных     new query[128];     format(query, sizeof(query), "UPDATE factions SET FactionLeader = '%d' WHERE id = '1'", targetid); // Замените '1' на ID вашей фракции, если у вас их несколько     mysql_tquery(dbHandle, query);     new szString[128];     format(szString, sizeof(szString), "Игрок %s назначен лидером фракции!", targetid);     SendClientMessage(playerid, 0x00FF00AA, szString);     SendClientMessage(targetid, 0x00FF00AA, "Вы назначены лидером фракции!");     // Выдаем скин 115     SetPlayerSkin(targetid, 115);     PlayerSkin[targetid] = 115; // Обновляем массив PlayerSkin     SPD(playerid, DLG_LEADERINFO1, DIALOG_STYLE_LIST, "Информация необходимая к прочтению", "{FF0000}!!!ПРОЧИТАТЬ!!!\n{0089ff}[1]{ffffff} Команды лидера", "Выбрать", "Закрыть");     return 1; } stock SetFactionDeputy(playerid, targetid) {     // Проверка на то, является ли игрок админом     if(player_info[playerid][ADMIN] > 5)     {         SendClientMessage(playerid, CG, "Вы не являетесь администратором!");         return 1;     }     // Убираем старого заместителя     if(FactionDeputy != -1) FactionRank[FactionDeputy] = 1; // Понижаем ранг старого заместителя     // Назначаем нового заместителя     FactionDeputy = targetid;     FactionRank[targetid] = 9; // Устанавливаем ранг 9 (Консильери)     new szString[128];     format(szString, sizeof(szString), "Игрок %d назначен заместителем фракции!", targetid);     SendClientMessage(playerid, 0x00FF00AA, szString);     SendClientMessage(targetid, 0x00FF00AA, "Вы назначены заместителем фракции!");     return 1; } // Функция проверки, является ли игрок лидером stock IsPlayerLeader(playerid) {     if(playerid == FactionLeader)     {         return 1;     }     return 0; } // Функция проверки, является ли игрок заместителем stock IsPlayerDeputy(playerid) {     if(playerid == FactionDeputy)     {         return 1;     }     return 0; } // Функция вступления во фракцию stock JoinFaction(playerid, inviterid) {     // Проверяем, состоит ли игрок уже в какой-либо фракции     for(new i = 0; i < MAX_PLAYERS; i++)     {         if(FactionMembers[playerid] != 0)         {             SendClientMessage(playerid, 0xFF0000AA, "Вы уже состоите в другой фракции!");             return 1;         }     }     // Добавляем игрока во фракцию     FactionMembers[playerid] = FACTION_SKINHEDS;     FactionRank[playerid] = 1; // Рядовой (Новичок) - Устанавливаем ранг     new szString[128];     format(szString, sizeof(szString), "Вы вступили в '%s' по приглашению игрока %d!", FactionName, inviterid);     SendClientMessage(playerid, 0x00FF00AA, szString);     format(szString, sizeof(szString), "Игрок %d вступил в '%s' по вашему приглашению!", playerid, FactionName);     SendClientMessage(inviterid, 0x00FF00AA, szString);     return 1; } stock LeaveFaction(playerid) {     if(!IsPlayerInFaction(playerid, FACTION_SKINHEDS))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не состоите в этой фракции!");         return 1;     }     FactionMembers[playerid] = 0; // Обнуляем ID фракции (0 - значит, не состоит)     FactionRank[playerid] = 0;     SendClientMessage(playerid, 0x00FF00AA, "Вы покинули Семью Рейес!");     return 1; } stock GetFactionRank(playerid) {     return FactionRank[playerid]; } stock SetFactionRank(playerid, targetid, rank) {     // Проверка на то, является ли игрок лидером или заместителем     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права устанавливать ранги!");         return 1;     }     // Проверка на то, чтобы ранг не был слишком высоким     if(rank > 10 || rank < 1)     {         SendClientMessage(playerid, 0xFF0000AA, "Неверный ранг!");         return 1;     }     FactionRank[targetid] = rank;     new szString[128];     format(szString, sizeof(szString), "Вы установили ранг '%s' для игрока %d", FactionRankNames[rank - 1], targetid); // Получаем название из массива     SendClientMessage(playerid, 0x00FF00AA, szString);     format(szString, sizeof(szString), "Вам установлен ранг '%s' игроком %d", FactionRankNames[rank - 1], playerid); // Получаем название из массива     SendClientMessage(targetid, 0x00FF00AA, szString);     return 1; } // Функция проверки, состоит ли игрок во фракции stock IsPlayerInFaction(playerid, factionid) {     if(FactionMembers[playerid] == factionid)     {         return 1;     }     return 0; }
      Ну и команды естественно:

       
      // Команда для установки ранга (пример, только для лидеров) CMD:setrank(playerid, cmdtext[]) {     new targetid, rank;     if(sscanf(cmdtext, "dd", targetid, rank))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setrank [ID игрока] [Ранг]");         return 1;     }     SetFactionRank(playerid, targetid, rank);     return 1; } // Команда информации о фракции CMD:factioninfo(playerid, cmdtext[]) {     new szString[256];     format(szString, sizeof(szString), "Название: %s, Штаб-квартира: %.2f %.2f %.2f", FactionName, FactionHQX, FactionHQY, FactionHQZ);     SendClientMessage(playerid, 0x00FF00AA, szString);     return 1; } CMD:setleader(playerid, cmdtext[]) {     new targetid;     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setleader [ID игрока]");         return 1;     }     SetFactionLeader(playerid, targetid);     return 1; } CMD:setdeputy(playerid, cmdtext[]) {     new targetid;     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setdeputy [ID игрока]");         return 1;     }     SetFactionDeputy(playerid, targetid);     return 1; } // -------------------------------------------------------------------------- // Команда для приглашения игрока во фракцию (только для лидеров и заместителей) // -------------------------------------------------------------------------- CMD:invite(playerid, cmdtext[]) {     new targetid;     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права приглашать игроков!");         return 1;     }     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /invite [ID игрока]");         return 1;     }     // Добавим проверку на приглашение самого себя     if(playerid == targetid)     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не можете пригласить самого себя!");         return 1;     }     JoinFaction(targetid, playerid);     return 1; } // -------------------------------------------------------------------------- // Команда для исключения игрока из фракции (только для лидеров и заместителей) // -------------------------------------------------------------------------- CMD:uninvite(playerid, cmdtext[]) {     new targetid;     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права исключать игроков!");         return 1;     }     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /uninvite [ID игрока]");         return 1;     }     // Добавим проверку на исключение самого себя     if(playerid == targetid)     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не можете увольнять самого себя!");         return 1;     }     if(!IsPlayerInFaction(targetid, FACTION_SKINHEDS))     {         SendClientMessage(playerid, 0xFF0000AA, "Этот игрок не состоит в вашей фракции!");         return 1;     }     LeaveFaction(targetid);     return 1; }

      Ребят, не судите строго пожалуйста, делал с помощью ChatGPT, помогите пожалуйста сохранение лидерки и заместителя сделать
    • Senwik
      От Senwik
      Всем привет! Я горю желанием сделать свой хороший Крмп проект, чтоб люди играли и радовались. Но только есть одна большая проблемка. я мало разбираюсь в создании Крмп. Вот хотел спросить, где можно почитать, чтоб научится делать Крмп, то-есть что такое scriptfiles и как настраивать файлики внутри него, как делать всякие дополнительные панельки. К примеру, человек вводит команду /frak и у него открывается панель фракции, кто в ней и так далее.
      PS:Спасибо всем кто поможет
      Также, если кто-то захочет как-то помочь в разработке или просто поговорить на тему разработки, то вот мой дс @triptolin.
    • breznov
      От breznov
      Всем доброго времени суток ! Я пишу мод с нуля, дело дошло до подключения cef интерфейсов, я от слова совсем не понимаю как в моде прописать подключения cef.
      Пробовал конечно же подключать, создавал браузер через "cef_create_browser(playerid, 0x12345, "ссылка", false, false);", но ничего не получалось.
      Я только начинаю изучать работу данного языка, извиняюсь за то что я тупоголовый. Хочу попросить помощи у специалистов, будьте добры объяснить написание данной системы с отображением cef пожалуйста =(
      Если нужен будет мой код, я могу его предоставить.