FANDOM


CMSy i MUDy Edytuj

Ogólne Edytuj

  • Zawsze rozplanuj cały silnik - wszystkie pliki, odnośniki, wygląd, a także wszystkie szkice tabel MySQL (lub innej bazy danych)
  • Zapisz se od razu wszystkie pliki(puste) i od razu je "includuj" - w ten sposób nie zapomnisz o żadnym pliku, a nie wystąpią błędy związane z ich brakiem
  • Najlepiej rób stronę opartą na CSS i bez ustalania w tabelkach szerokości - CSS da ci większą elastyczność podczas modyfikowania i zmieniania wyglądu
  • Zbierz se wszystkie potrzebne przykładowe kody zanim zaczniesz pisać - jeżeli zapomnisz jakiejś składni, szybko znajdziesz prawidłową i możliwe że ci się nie odechce:)
  • Dbaj o czystość bazy danych - czasem po "apdejcie", a tym bardziej w którym modyfikowana była baza danych, mogą wystąpić błędy z odczytem
  • Gromadź kilka wersji silnika - czasem wprowadzone modyfikacje wprowadzają nowe błędy, a wtedy trzeba wrócić do starego i sprawdzić co nie gra
  • Testuj na różnych wersjach serwerów - na różnych są różne wersje php i baz danych. Niektóre opcje działają tylko pod nowszym/starszym oprogramowaniem, więc musisz znaleźć "złoty środek"(chyba że nie masz zamiaru dzielić się swym dziełem z innymi)
  • Bądź brutalny i bardzo lamerski podczas testowania - kto wie do jaki n00b skorzysta z twojego cmsa/muda. Szukaj jak najwięcej tzw. "błędów użytkownika" typu złe wartości, puste pola itd.
  • Zapobiegaj wszelkim błędom jakie mogą wystąpić - braki plików, źle wprowadzone dane itd. nie każdy rozumie komunikaty z interpretatora php. Nie bój się "ifów"
  • Jest kilka sposobów na zrobienie systemu logowania:
    • Zapis w cookies loginu i hasła, a następnie sprawdzanie za każdym razem czy są poprawne
    • Zapis w cookies samego ID użytkownika po udanym logowaniu
    • Zapis w cookies po udanym logowaniu wylosowanego kodu (np. suma md5 wylosowanej liczby), który jest numerem [sesji, a następnie co odświeżenie strony sprawdzanie czy sesja jest jeszcze ważna (i przedłużenie jej). Wpisy sesji zapisywane w bazie w tabeli z użytkownikami (numer i data ważności)
    • Zapis w bazie adresu IP oraz daty - nie wymaga cookies. Niebezpieczny gdy użytkownik ma internet poprzez LAN
  • Bądź otwarty na propozycje użytkowników (zwłaszcza, gdy chcą ci nawet kod napisać, ale zawsze sprawdź, czy nie ma w nik jakiego haka)
  • Nie reklamuj zbyt wcześnie - jeżeli nie będzie się prezentować dobrze, projekt będzie miał słabe poparcie. Jeżeli chcesz już zareklamować i opublikować, zarejestruj projekt na np. sourceforge.net, oraz najlepiej wykup jakiś na razie tani serwer na hosting
  • Grafika powinna być jak najlżejsza i najwyraźniejsza. BROŃ BOŻE do DESIGNU NIE UŻYWAJ JPEGÓW!! do małych grafik(max w sumie 250 pixeli) wystarczą gify, do większych PNG (również kompresuj usuwając niepotrzebne mapy alfa
  • System banów i blokad jest przydatny. Zadbaj o to, by zablokować wszystkich spamerów. Na zmienne IP jest pewien sposób - cookies:)(n00by sie nie zczają). Można też zablokować nicka.

MUD - silniki gier online Edytuj

  • Wczytywanie danych takich jak statystyki, ekwipunek, ustawienia, czy inne powtarzające się zapytania do bazy danych zapisuj jako funkcje. Nie będziesz musiał kilka razy pisać tego samego.
  • Testuj mając kilka kont użytkowników - dodatkowo możesz poprosić znajomych o testowanie. Czasem błędy wyskakują gdy jest więcej kont
  • Każdą lokację zrób w osobnym pliku - będzie łatwiej lokalizować błędy i pisać dodatki
  • Grając (testując) również bądź idiotą (tymczasowo:)) próbując jak największej ilości błędów, a następnie wróć do normalnego trybu pracy i popraw znalezione błędy
  • Gdy dajesz możliwość ataku innych graczy, daj blokadę, aby nie można było atakować samego siebie - czasem prowadzi to do katastrofy
  • System wiadomości i "sojuszy" zwiększa zainteresowanie
  • Czasem na pewną akcję potrzebny jest czas (np. jak w ogame na budynki). Napisz skrypt który liczy która będzie godzina za x sekund i zapisuje do bazy danych nową akcję. Gdy Jest jakaś akcja związana z graczem(np szpiegowanie, wysłanie wiadomości, zalogowanie się, podgląd profilu) sprawdzane jest, czy jest jakaś akcja w bazie związana z tym graczem. Jeżeli czas już minął, akcja jest wykonywana, a wpis usuwany.
  • Każdy przedmiot (osobno!) możesz określić jako osobny rekord w tabeli, numer ID, oraz kilka kolumn właściwości
  • Pisz skrypty czyszczące bazę ze starych wpisów, jak np. przedmioty (np. jedzenie się psuje:p), wiadomości (np. trzymane są max 2 tyg) itd. Baza nie ma nieograniczonego miejsca!
  • j.w tylko usuwające również wpisy które nie są używane( bo np. nie mają odnośnika-przedmiot nie należący do nikogo, są przestarzałe, a z niewiadomych powodów jeszcze istnieją)

Przydatne linki Edytuj

[1] - darmowy serwer na testowanie skryptów [2] - darmowy i prosty server Apache obsługujący PHP i MySQL w najnowszych wersjach pod Windowsa [3] - darmowy cronjobs do robienia np. czyszczenia bazy [4] - "encyklopedia" HTML, CSS i JavaScript [5] - dobry edytor HTML/CSS/PHP. Fajny kreator stylów CSS :D pod win. Dla linuxa polecam standardowe GEDIT (na gnomie) oraz KATE (na kde)