[Dev] Какво ще кажете за този уеб

То е супер зле, трябва да пренапиша доста от нещата, направо от нулата. Старите ми кодове от преди 8-9 години нямат нищо общо с начина, по който ги изпълнявам нещата сега. От старите кодове направо ме е срам, не, няма да ги дам! :D

Охо8-9 години мен ме е срам от кодовете ми от преди няколко месеца... хаха иначе успех! Ако мога да помогна с нещо имаш ми скайпа
 
Ако ти трябва някой да те критикува и да мрънка аз съм човека хахаха :D
 
Успех! Ако ще правиш функции с предмети, мога да ти дам няколко класа (факторита), които се грижат за разликите в сезоните (между старите и новите версии, до сезон 5). Връщат JSON и можеш да ги използваш спокойно във frontend-a и backend-a :)
 
Last edited:
Давай ги, проекта ще е open source винаги, така че споделяйте всичко, което нямате проблем да е open source.
 
Давай ги, проекта ще е open source винаги, така че споделяйте всичко, което нямате проблем да е open source.

lkrumov / MuOnline_Web_API — Bitbucket

Използвайте каквото ви хареса ;) (на мен вече нищо не ми харесва :D)

EDIT: Проекта НЕ Е завършен и най-вероятно така ще си остане. :)
 
Last edited:
  • Like
Reactions: Dea7h
Какво стана проекта май да не се надяваме на нещо?
 
Надявайте се, защото в момента ползвам за сървъра платен уеб пакет, но съм изключително недоволен от него и ще продължавам разработката на този съвсем скоро.
 
Надявайте се, защото в момента ползвам за сървъра платен уеб пакет, но съм изключително недоволен от него и ще продължавам разработката на този съвсем скоро.

Нормално, той е направен за пари, а не за ползване. Ако беше се консултирал преди да действаш можеше да си спестиш главоболията, има далеч по-добри безплатни такива.
 
Тя беше много на зор работата, бързахме. :D
 
Това не е реалната база, спокойно. :>
 
2018-11-14_17-27-01.gif
2018-11-14_18-59-45.gif
Я виж, пак реснах твоя герой :D
 
Last edited:
  • Like
Reactions: Brazil
И така, този уеб пакет е моето детенце. Буквално. От 2010-та година е в зародиш, тогава бях започнал да му пиша регистрация и класации.

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

Уеб пакета беше пренаписан изцяло от нулата за срок от 1 седмица (7 дни) по около 4-5 часа на ден. Не работих служебните си задачи, а правих това.

За това време завърших:
- CMS ядро;
- Регистрация;
- Логин;
- Вдигане на точки;
- Ресет с проверка на инвентар;
- Класации с лимит 50;
- Проверка дали сървъра е онлайн с fsockopen;
- Misc статистики като тотал герои, акаунти и т. н.

Така както имах една основа и реших да го пусна на моя сървър, които работи от 11.02.2018 и ресетнах на 16.11.2018. От тогава този уеб пакет е live. На една локална машина си правя новостите и като всичко вече работи и е наред го мятам на официалния домейн.

Искам да споделя с Вас, защото съм уверен, че тук се подвизават много мислещи и логични умове, някои подходи и технологии, които съм решил да използвам, за да видя различните мнения и евентуално поле за подобрение Ето ги и тях:

Инсталирал съм си PDO екстеншън на PHP-то и с един и същ код работи на win, което ми е девелпомънт средата и на linux, което ми е хостинга. Много важно беше за мен да е OK на linux. Връзката става като си създавам един клас PDO и после в отделните функции го викам с global. Не затварям конекцията накрая, може да ми препоръчате добър начин за това.

CMS-а съм го решил да следва подобен на MVC модел, но по мой си начин, а именно
- 1 папка с контролери, controller;
- 1 папка с функции, които да се ползват от контролерите, modules;
- 1 папка с темплейт файлове.

Отделно имам спомагателна папка includes, в която имам, ще го нарека “ядрото” на системата, т. е. PHP функции, които обработват GET заявките, езика и други.

Та начина на работа е следния:
Когато напишеш в браузъра anhimu.eu/register, скрипта чете какво става след чертата и проверява дали съществува такъв файл в папка controller. В случая имаме register и го инклудвам. От там register контролера си инклудва негов файл от папка modules, където са само функции. Направил съм си един файл common.php, където да са функциите за всяка страница и вече са отделните страници, където имаме специфични функции - отделни файлове. Това не знам колко смисъл има, но съм го правил с идеята файловете да са множество, но малки по размер и да е по-лекичко. След като се изпълнят необходимите функции и изчисления имам една функция load_template, която според текущия темплейт от конфиг файла зарежда съответния темплейт файл. Темплейт файловете са php, но вътре се прави само echo и foreach. С идея да може лесно да се правят нови темплейти дори от по-неопитни хора.

Цялото това нещо е обвито от логика за използване на ajax за зареждане на страниците, т. е. когато е включен ajax-a от кофиг файла (true/false), зареждаме само в главния контейнер съдъражието на отделните модули, без хедър и футър. Зарежда много бързо. Сложил съм си таймер от 200 милисекунди, за да няма спам рекуести към сървъра ако го нацъкаш няколко пъти - това си е в javascript-a и е общодостъпно - може да се разгледа още сега.

И така, после имам една изключително готина функция за превод:
translate(string, “Descriptive text”)
Какво става тук:
първия параметър е кратък slug на самия превод, който е записан в XML файл заедно с всички преведени текстове. Функцията търси във вече заредения XML за този ред и ако го няма, прави echo на втория параметър и го записва в XML файла. Този метод на работа много ми харесва, защото ако правя нови неща из сайта винаги ми се ъпдейтва файла с превода и е винаги последна версия. Тоест, забравям за него като ангажимент, в един момент като реша да превеждам сайта ще стане много лесно и после ако правя допълнения, пак ще се допълват в другите езици най-отдолу на английски. Пример: translate(‘ucp_reg_done’, ‘Account registered. You may now login’);
Ако го нямаме това в XML-a просто ще се добави най-долу а английски и може да се преведе.

Секюритито на SQL куеритата: разчитам изцяло на PDO prepare. Преди се слагаха разни кавички и други боклуци, но след солидно проучване в stackoverflow и други подходящи места, разбрах че с prepared statements няма нужда от нищо повече. Към потенциални недоброжелатели: на лайв сайта и сървър си правя бакъп веднъж дневно на цялата база на две места, така че: няма смисъл. Към всички останали: Вие бихте ли сложили още един слой защита и какъв?

Днес имах приключения да подкарам изпращане на e-mail през xampp пакет без допълнителни екстеншъни и с минимални настройки, но не успях. Ще се опитам да го направя или ще избера най-лесния екстеншън. Идеята ми тук е да имам вградена mailing система, която да работи еднакво лесно и на win и на linux. Защото ако някой пожелае да ползва системата и е на windows, там също трябва да работи.

Планирам за в бъдеще:
CMS ядро:
- интелигентен кеш (не като на muonlinewebs - ползвал съм и не съм доволен);

MU-related:
- забравена парола - смяна с пращане на мейл и token за кликване и ресетване;
- четене на новини от базата (ще имам отделна база за сайта, най-чисто ми изглежда така - и 2010-та бях тръгнал по този начин);
- админ панел за управление на различни неща - в момента барам по файловете, което не ми е проблем, но ако го ползват и други хора ще е необходим;
- маркет за продажба на предмети;
- депозиране на камъни и тем подобни пт/към сайта и играта - както е в уебс;
- търг;
- класация гилдии.

Друго сега не се сещам.

Моля, колегите програмисти да изкажат мнението си относно похватите на работа, които съм преразказал тук.

Моля, сървър администраторите и играчите да изкоментират списъка на функции и какво трябва още да има.

Моля за предложения за функции, които са уникални и много добри като идея, но не са реализирани в другите сайтове.

Аз си мислех за някаква класация на партита - да гледа играчите през определено време и които хора са близко един до друг като координати и качват горе-долу по еднакъв начин да ги смята, че са в парти - такова нещо наистина няма (май) ама ми се вижда доста безполезно.

Функциите с инвентар и items са ми още непознати - взех жокер от декодираната версия muonlinewebs и си го имплементирах по мой начин, но и горе и долу трябва да е празно, за да те пусне да реснеш (инвентара). В бъдеще ще го направя да е само горе. Като го разуча. Items и guild mark се декодират и изобщо не съм наясно там какво става, предстои да разучавам. Но със сигурност ми се иска да има market на предмети и търг, нещо от сорта.

Та така, проектът стигна до тук. Затова хората са казали: по-добре късно, отколкото никога. Ще продължавам да добавям неща, защото ми работи и на сървъра. Когато го почувствам достатъчно добро като функции и защита, ще споделя ако има желаещи да пробват!

Ето live демо: https://anhimu.eu
(изглежда много постно като сайт, но започваш да гледаш на него с други очи като прочетеш по-горе цялата му концепция и амбициозната идея, която притежава).

Поздрави и очаквам Вашите мнения, проектът е интересен и ще го разцъквам от време на време.

П. С. За сега поддръжката на версия ще е максимум 99.60, защото моя сървър е на нея, но няма да е трудно да се вкарват нови неща от новите версии - нещата се пишат с мисъл за мулти-съвместимост и много настройки в config файла.

Сори за телефонските скрийнове ама писах мнението през телефона.

П. С. 2 Почнах да разглеждам другите теми тук и видях, че много хора са писали за респонсив. Този сайт ще е 100% респонсив с използване на най-новите bootstrap и jquery, зареждани през CDN за по-голяма бързина (може да сложа един switch в конфига за CDN on/off че понякога пада bootstrap CDN и става зле)

П. С. 3 Сайтът се разработва на най-новото PHP 7.2, MSSQL 2008 и работи със сигурност на най-новия xampp под windows 7 и apache пакет под ubuntu 18.04 (най-новото в момента).
 

Attachments

  • 8EBF2E72-A0E1-45CE-B934-059AE537260A.png
    8EBF2E72-A0E1-45CE-B934-059AE537260A.png
    338.1 KB · Views: 38
  • 356538AB-A39B-4BFC-A8F7-F1FF5D4596BC.png
    356538AB-A39B-4BFC-A8F7-F1FF5D4596BC.png
    284.4 KB · Views: 35
Last edited:
  • Like
Reactions: Dea7h and Brazil
Здрасти, @AnHiMiLaToR
Разгледах ти кода от професионална front-end гледна точка.
Това което ми направи впечатление е че: за първи път виждам в му уеб сайт , google Analytics , tag manager , колкото странно и да звучи дори bootstrap4 , за което ти правя евала.
Сайта ти е доста бавен за съжаление , доста бавно реагира при отваряне на модули и тн.
След малък тест , дори се побърка и започна да отваря 5,6 модула без да съм ги цъкнал защото спече и не можа да реагира на request's.
Мисля че не е доста добра идея да ползваш cdn за библиотеките.
Както и от страна на дизайн , куцат доста неща и може да се направи уникален дизайн само с малко bootstrap4 и js.
Но като цялостно изпълнение е добре запланувано и съм сигурен че ще се получи добър проект.
Ако имаш нужда от помощ за front-end оставам на разположение за помощ или въпроси.
Добър проект , продължавай да го развиваш и ще се получат нещата.
 
Да, имам нужда от фронтендър, за дизайна най-вече, защото аз не съм дизайнер, аз съм php програмист. Също и за похвати по HTML - за най-новите неща и най-добрия начин на писане откъм SEO и съвместимост. Също помощ ще ми е от полза именно по някакви практически задачи - решения кое как да стане по-сигурно, по-бързо, по-готино.
Благодаря за добрите думи. Оценявам го.

За CDN си направих конфигурация от config.php on/off, така че там сме ОК.

Как така е бавен? Ти кога си го разцъквал? Имаше малко недоброжелателни атаки по едно време, сега в момента е нормално!
Това с побъркването мисля, че е станало заради лага, може да е било заради атаките. Браузъра ти да е пуснал рекуестите и като е имало връзка, тогава да ги е изпълнило.
Много е бърз! Това му е силата.

Ето виж: (не го отварям по никакъв начин от локална мрежа - на 30 км съм от сървъра)
kd1vdiRnBN.gif
 
Здравейте, дами и господа!
Честита нова 2019 година! Днес е 1-ви януари.
Нека бъдем здрави, щастливи, професионални и по-толерантни с търпимост и по-малко импулсивност. Бъдете добри!


Аз още съм в почивка от работа и си правя неща по сайта. Сега въпреки, че сме 1-ви януари и всички почиват, на мен ми е кеф да вляза отново и да направя нещо ново. Пуснах си преди известно време втори сървър фънка и си направих child template и си пускам новости и на двете места едновременно.

Уеб пакета вече има:
- странициране на класациите;
- GM List с показване на онлайн и чат;
- Messenger чат към страницата;
- Премиум опция: смяна на клас (с кредити);
- Премиум опция: dual stats;
- ресетване на парола с token и изпращане на e-mail;
- запазване на сесията с cookie (опцията "запомни ме") - със security token и писане в базата;
- vote for credits - реално сравняване на заявките за гласуване по IP;
- работеща мултиезичност със запазване в cookie и много ама много яки XML файлове, защото се допълват автоматично във всички езици ако добавиш translation на един от тях;
- онлайн играчи (списък);
- слайдърче в десния сайдбар с класации;
- други дреболии.

Продължавам да си го работя като хоби. В определен момент ще го пусна някой ако иска да го изтества. Преди това бих искал някой колега да го погледне заедно с мен, че съм параноичен и ако имам дупки в кода не бих искал да се гледа публично на този етап. :)

Ще прикача малко screens. Безкористно го правя, кефи си ме.

chrome_3EpZkcEE46.pngchrome_O4YVZyZyB7.pngchrome_oX2yg34Udh.pngchrome_wUNhODGP6y.pngexplorer_a1TRDUXs2M.png
 
Също така искам да попитам за мнение - как Ви се струва ако стесня целия сайт и увелича сайдбарите за сметка на главния контент? (Стесняване на целия сайт, защото той в момента е с нестандартно голям размер на контейнера)
chrome_hWDLapadRx.png