ARGOS multigaming cms

Последните 2 дни работих над нещо по-големичко, но няма да го предлагам за продажба.
Става дума за напълно "аякс" базиран портал за гейминг между играчи и партньори. Партньорите са определена група от форума, а играчите са потребителите. Те се свързват помежду си чрез системата. Играчите трябва да си заредят кредити (с пейпал) и да подадат заявка, а след това чакат в реално време партньор да се свърже с тях. Партньорите имат ограничена частна страница пак аякс базирана и в реално време виждат опашките от играчи. Има категории и всеки може да си избира какво да играе. Партньорите си избират играчите и комуникират през лайв чат в системата.
По-желание може да се добави discord bot нотификация с webhooks (през настройките на сървъра се генерира web кука и с проста curl заявка се праща съобщение до определена чат стая в дискорд). Все още не е ясно дали го искат и аз съм на стоп относно това.
Партньорите взимат 80% процента от сумата, която играча е избрал при заявката (зависи от типа игра)
Така всички печелят и са доволни. Играта е League of Legends, но скрипта може да се преправи за всяка друга игра и да се добави слайдър с игри и формата да се обновява динамично. Има и админ панел където може да следите заявките за искане на суми (минимум 50 лв.) и да давате/премахвате и проверявате баланс по user ID.

Ето демо с видео:

Клиента брои 300 лв. за всичко.
Тоест повече от системата дори. 2 дни и половина работа.
Извинявам се за качеството просто ми е слаб лаптопа и нацепва. Също така видях, че се показва и 1 flash на 1 алерт прозорец, но той не се вижда по принцип, просто като пуснах bandicam и отделно аякс заявките и процесора отива на 100% и забива и не може всичко да се възпроизвежда нормално.

За CS2 може да се преработи разбира се и то главно само категориите, иначе функционалността се запазва. Всичко е strong тествано и работещо. Екстеншъна има 2-ра част (админска) и общо са 3000 реда код.
Остава да завърша и friends/foe екстеншъна и се отдавам на почивка, че имам друг проект койтo трябва да развивам...
 
Последно редактирано:
Радостен съм да съобщя, че friends/foes екстеншъна е завършен и преведен!
Демо може да видите по-долу на клип, а и вече качен на https://argoscms.pw/ (работи за сега само под foxstrike темплейта)), може да го тествате с демо акаунтите, които споделих в темата!
Също така, ако на някой модал-а под светлата тема му излиза с тъмни прозорци - нека влезе през инкогнито, тъй като му е кеширало ?v=100 версията. (не съм я променял, тя се append-ва в head секцията с js)
Демо с видео:

Край на мъките и трудната комуникация! Всичко стана бързо и лесно с този екстеншън и така може да намерите повече приятели/съотборници и да не губите времето си.
По желание на клиентите мога да го разширявам още, а в момента работи само под foxstrike, тъй като беше в дизайна на темплейта. Дизайна може да се промени и да пасне и за други темплейти в аргос или нови!
Също така както написах мога да го разширявам още. Бордерите в търсачката около аватара са 2 - зелен и червен (онлайн/офлайн)
Всичко е тествано и работещо коректно.
С този екстеншън приклчючвам за неопределен период от време, защото си имам лични ангажименти!
За връзка с мен на лс или дискорд: .pok4
 
Днеска бях свободен и реших да я ръчкам. 2 нови версии:

8.1.5:
- Ъпдейтнат е рийдми файла
- Всички библиотеки са ъпдейтнати през composer
- Добавена е проверка дали user_id е empty във функцията get_username_by_id
- Малки добавки в някои екстеншъни
- Фиксване на typo грешка в lob2 темплейта във _functions.php файла. (ланг дефинициите)

8.2:
- Добавена е нова функция watermark($source_file,$image,$save_file) - може да презамества текущи изображения с воден знак, ако на $source_file и $save_file седи едно и също изображение!
Водния знак и дали да е включена опцията се контролират от админ панела и важи за галерията и ъплоуд-а на изображения през Dropzone.JS. Забележка: прекъсва анимационния ефект на gif-овете!
- Добавена е опция за вкл./изкл. на production mode (може да си добавяте код и в темплейтите с {{#production}}code{{/production}} или ако сте извън {{^production}}code{{/production}})
Чрез тази променлива вече спирам автоматичния лоуд на класове в robotautoloader-а, защото при продъкшън е логично, че няма да правите промени. Така сайта ще зарежда по-бързо, а и в описанието в гитхъб се препоръчва в продъкшън да е изключен метода.
Когато е изключен, но сте качили екстеншън и той не работи - трябва да изтриете кеша, за да пре-лоудне всичко отначало.
- Добавени са 4 нови темплейт дефиниции {{insta_link}}, {{tiktok_link}}, {{steam_link}} и {{discord_link}} (от админ панела се въвеждат в раздел Конфигурация)
- Добавена е опция в админ панела със switch за изкл./вкл. на HTML минификацията в output-a на страниците. Това е нова благинка, която беше интегрирана в няколко предишни версии, но се контролираше от core.php ръчно...
- Добавена е опция за вкл./изкл. на рекламните банери в темплейтите (advertise.html)
- Добавено е CDN на bootstrap иконките в админ панела.
 
Последно редактирано:
8.3:
- Добавени са бутони 'Към сайта' и 'Към форума'
- Добавен е jquery calendar в индекса на admin панела
- Добавен е Geo STATS API с Google Charts (взима инфо от stats таблицата)
- Добавено е api при статистиката за взимане на държавата на даден юзър по неговото IP
- Кешът в админ панела вече се изтрива с AJAX. (избягване на генериране на error log, тъй като не откриваше кеш и излизаше грешка, но не всеки път). Проблема е отстранен по този начин.

demo на добавките (новостите):
https://i.ibb.co/8sD6xZX/1.png
https://i.ibb.co/xj09VDN/2.png
При посочване на дадена държава показва колко потребителя е открила статистиката за нея.
 
hahaha :D

Вчера клиента ми (lob.bg) пожела да разширя календара с възможност за бележки за конкретна дата. Цялата логика вече е изградена и календара се превърна в Event Calendar. Само че работи с кукита, тъй като не ми се занимаваше да правя контролер и да ползвам аякс.
Може би по-нататък, когато нямам толкова неща на главата.

Демо с клипче:
 
Нов екстеншън!
Става въпрос за team страница, която може да се контролира от админ панела.
Дизайна е такъв: https://i.ibb.co/Hd9mDdw/image.png
Взет е от нета и леко редактиран от мен.
От админ панела може да качвате цялата информация за вашия отбор/екип, а от фронт частта, ако сте админ ще видите бутон от който може да триете даден съотборник.
Дизайна е приятен, но ползва font awesome от новите версии и на default темата и някои други иконките ще трябва да се преправят (иконките за социалните мрежи).
Всичко работи коректно. :)
 
От вчера се мъча да направя гаг плъгини за AMXX и Source MOD и успях! Ползват и 2-та старата типизация, но ако има проблем под най-новите версии на АМХХ/Sourcemod няма никакъв проблем да ги пренапиша. 2-та плъгина са абсолютно еднакви като функции и менюта.
Командите са:
Source mod:
sm_pgag <player name>
sm_pungag <player name>
sm_gagmenu - отваря меню с избор на играч и опции след това за гаг и ънгаг.
Админите и ботовете не се показват в менюто, а командите също са с имунитет проверки.

За AMXX:
amx_pgag <player name>
amx_pungag <player name>
amx_gagmenu - отваря абсолютно същото меню както при Sourcemod.

2-та плъгина са по 300 реда код, абсолютно орязани и еднакви като функции. Работят разбира се със SQL датабаза.
Колоните и таблиците също са еднакви, по-начало:
gag_players_goldsrcds: Колони: ip / format: text
gag_players_srcds: Колони: ip / format: text
Това са таблиците. По-желание и срещу допълнително заплащане мога да добавя още колони и да съхранявам информация като име на играч, име на админ, дата. Мога да вкарам и colorchat библиотеки и да сложа допълнителни неща, ако искате.
Гага веднъж сетнат е перманентен (нарочно), за да накарате даден играч да си плати. По-желание мога да добавя и време, но срещу допълнително заплащане! При писане в чата играча вижда съобщение изпратено само до него, с което се подканва да влезе в сайта и да махне гага си.

Естествено това по-горе ми беше достатъчно, за да напиша и поредния екстеншън, демо:

КОНФИГУРАЦИЯ:
Код:
        $this->srcds_ungag_enable = 1; //Source mod ungag activation, set 0 to disable
        $this->goldsrcds_ungag_enable = 1; //Gold Source ungag activation, set 0 to disable
        $this->credit_cost_to_ungag = 7; //how much credits we get from user to can ungag from our servers?
      
        //SourceDS (CS:S,CS:GO,TF2,LEFT4DEAD,CS2) ungag configuration details
        $this->srcds_ungag_db = "pok4_gag"; //db which holds gag table
        $this->srcds_ungag_table = "gag_players_srcds"; //gag table
      
        //GoldSrc (CS1.6/HL/CS:CZ/CS1.5) ungag configuration details
        $this->goldsrcds_ungag_db = "banlist"; //db which holds gag table
        $this->goldsrcds_ungag_table = "gag_players_goldsrcds"; //gag table

Това е абсолютно същия екстеншън като ънбан екстеншъна, но е пригоден да работи с горните плъгини и таблиците им. Така давате на потребителите възможност да си махат гага от вашите сървъри срещу кредити (заплащане).
Всичко е тествано и работи коректно. Екстеншъна е преведен на en/bg/ru/fr/es.

В момента разглеждам и възможност да напиша calladmin плъгин с discord нотификация за sourcemod.
Има достатъчно библиотеки за curl в alliedmodders и няма да е трудно, даже вече видях, че има и готови кодове там.
Екстеншъна който направих върви с привейт плъгините, които написах. Няма да ги намерите никъде в интернет!
 
Последно редактирано:
Така го знаят, инак е заглушен/запушен. В бг гейминг средите си се води гаг от английската дума gag.
В CS-a така е упоменато...
Някои плъгини за гаг блокират и микрофона, но при моите плъгини го няма като опция, защото ако се включи и това ще трябва и engine модула да е пуснат в prethink евент, което е вид таск, който се изпълнява постоянно и би усложнило нещата, ако имате много плъгини в сървърите. Вчера изчетох и разгледах няколко версии и реших да не го добавям при моите.
 
Мне, аз вече имам изградена curl заявка и работи.. само през php. Въпроса сега е, че няма как да подкарам едни модули, тъй като съм на CS Source v34 no steam със Sourcemod 1.4.2, а последния е 1.11 мнооого напред...
Има вече библиотеки за sourcemod (API-та) -

Вече направих Call admin плъгина, демо:

Има вътре закоментиран код за заявка през curl на едно API, но няма как да го компилирам под тази стара версия.
На лаптопа няма да ми тръгне нито CS:GO, нито CS2, а за по-нов мод ще ми трябва и нов no-steam cs source... От къде да го търся не знам...
Както и да е, ако някой много го иска ще даде teamviewer и ще дебъгваме заедно.

@uphero, ето curl заявката как изглежда:
Код:
$webhookurl = "https://discord.com/api/webhooks/1165281615640023074/a3pwGrQP0uvWu5j27WF7sghuH8HwrFnKI-p2KmuT7POvqQ1C8yvraYl1nc_RtfKwgfAw";

//===========================================
// Compose message. You can use Markdown
// Message Formatting -- https://discordapp.com/developers/docs/reference#message-    formatting
//===========================================
$msg = "Test **message** ";
$json_data = array ('content'=>"$msg");
$make_json = json_encode($json_data);
$ch = curl_init( $webhookurl );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $make_json);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );

Уеб куката се генерира от дискорд сървър настройките, ето как:
5 мин работа и вече имаш ботче :) Може да си го нагласяваш от настройките там в кой канал да пише съобщенията...

За Sourcemod api:
https://forums.alliedmods.net/showthread.php?t=292663 (тука фикс - https://github.com/Dragonisser/SM-Discord-Slack)
и въобще ако напишеш sourcemod discord има много теми, но всички са за новите версии на Sourcemod 1.10+ и типизацията на библиотеките им вече е коренно различна. Моите плъгини се компилират успешно под 1.11, но са с типизация за старите версии. Те ще работят ок, но не е много добре да останат така. За това, ако някой купи системата с тези плъгини ще си играем заедно, докато ги нагодим :)
 
грещно си почнал, направи обратното - от сайта да управляваш сървъра - смяна на карти, рестарт, пускане на вот, кик, бан, да четеш чата и тн.
Така няма да имаш нужда от малоумни лапета за админи а от телефона ще се управляваш сървъра.

Това цялото + още много неща го бяхме вкарали в дискорд и според ранга можеше да се достъпва различни опции.
Буквално изчезна нуждата от админи в играта.
 
O.. не..още повече,че сега cs2 нищо не тръгва под нея, даже sourcemod.
Идеята не е лоша,но доста тегава и не съм сигурен дали ще мога сам...
Така за сега си върви ок, а играчите особено в 1.6 са кът и сървърите са пълни с ботове..повече админи - по-добре, та да има реални играчи.
В момента има само 2 вериги сектор и danger, другите не са толкова доказани и често след месеци вече ги няма.
А и още нещо..
Lgsl не вади инфото за играчите под cs2 още..страшно ще е докато всичко тръгне..
Остава да чакаме..
 
Нов екстеншън на хоризонта!
Повечето CMS-и имат файлови мениджъри и реших да интегрирам това - https://github.com/Studio-42/elFinder/
Също така сложих и password протекция с този урок - https://dcblog.dev/securing-elfinder-with-a-login-page
В ext/pok4/elfinder/elfinder/elfinder.php трябва да си редактирате следните редове:
Код:
if($_POST['username'] =='admin' && $_POST['password'] == 'mypassword'){
На мястото на admin слагате вашето потребителско име, а на мястото на mypassword - вашата парола за вход.
Не качвайте нищо преди да сте редактирали тези редове във файла!
Пробвах да инклудна phpbb интеграцията и да сложа проверки по сесията за админите, но не се съобразих, че ползвам дотенв библиотеката и няма да стане.. Ще трябва да е много хардкоднато и да променяте пътя към форума и т.н.
За това сложих тази бейсик авторизация за вход.

Забележка: Създава .tmb папки по директориите, когато листвате из тях. Не съм търсил начин дали може да се премахне това, но който иска - да си търси по github постовете на библиотеката...
Работи перфектно, тествано е, има си едитъри, прихваща автоматично езика на браузъра и сетва. Разполага и с български.
Имайте едно на ум и никога не давайте паролата и юзъра си за логин на други хора! С това не бива да се правят компромиси, защото хем могат да свалят всичко, хем да сложат зловреден код по файловете или да качат злонамерени файлове!
Това е с цел вие да си имате достъп и когато сте далеч и нямате ftp - да си ровите и променяте неща..

Демо:



8.3.1:
- Ъпдейтнати са всички библиотеки през composer
- Ъпдейтнат рийдми файл
- Добавена е опция за пращане на емейли в папка "Изпратени" от формата за отговори на емейли от админ панела
 
Направих някои оптимизации днес и засягат и демото: https://argoscms.pw/
Трябва да зарежда една идея по-бързо. Сложих кеш на curl/json заявките за twitch/csgo новините. Също така сложих и кеш на DELETE sql заявките за лога и статистиката.
В момента на демото са включени 36 екстеншъна. Ако ви зарежда бавно, то това явно е защото се генерира кеш. Сложен е на 10 минути. Тоест след първото бавно зареждане вече след това трябва да е по-бързо до следващите 10 минути. Ако има много посетители в сайта това не би трябвало да се забелязва.

Ще направя още оптимизации, тъй като някои екстеншъни ползват админ евентите директно и след това има проверка дали са на текущата страница с if(str_contains($_SERVER['REQUEST_URI']) . Екстеншъна се инжектира директно в евента, а след това е проверката.. Това според мен е грешно, защото евента коства повече време от колкото тази проста иф проверка, която трябва да е преди него.
Така ще спестя още време, но не знам колко по-бързо ще зарежда след това.. Реално 36 екстеншъна са си 36 екстеншъна - доста са.
Това ще стане тези дни, тъй като утре съм зает целия ден. Екстеншъните не са много, но ще обходя всички и ще индентна кода на места, където не е ок.
 
Нищо не разбирам от WP, а пък и да разбирах как да го съчетая в 1 плъгин ? Ще е много тромаво.
В момента моите екстеншъни са 101, а на val4o0o0 са 15.
116 екстеншъна. Айде, ако извадя тези за lob.bg (не ги продавам тях) - са още 4.
112 екстеншъна.. Това е много код! Ама много!
Няма как да стане в 1 плъгин, то ще е мазало вътре..
Моята тема с имотите, която купих - има няколко плъгина към нея (20-тина са май), не е събрано в 1.
Ти образно ли го казваш ? Смисъл, имал си в предвид няколко плъгина ?
 
Това което ти наричаш екстеншън е 100 реда код, просто трябва да се структурира добре.
Отделно, че като ползваш АПИ-то на ВП половината ти код ще отпадне.
 
Късно е либе за китка хаха :)
 

Back
Горе