‘ Programy ’ Kategoria archiwum

Optymalizacja plików PNG

25 października 2011

„Tnąc” grafikę do HTML/CSS często też zwracamy uwagę na rozmiary zapisanych plików. I tak na przykład w formacie JPG sprawa jest jasna. Jest to format z kompresją stratną i sami ustalamy gdzie leży granica między rozmiarem a jakością. Pliki GIF używają kompresji bezstratnej (algorytm LZW i jego pamiętne patenty…) ale format ten obsługuje jedynie 256 kolorów więc następuje kwantyzacja kolorów i rozmiary tych plików są niewielkie (co było istotne w latach 80. i 90.). A co z PNG?

PNG powstał jako odpowiedź na GIF i problemy pantentowe. Jest to format kompresji bezstratnej i teoretycznie powinniśmy się spodziewać, że eksport do PNG da zawsze takie same lub przynajmniej bardzo podobne rozmiary plików. W praktyce, podczas zapisywania pliku, następują pewne przekształcenia. Można je wykonać mniej lub bardziej dokładnie co ma wpływ na dwa czynniki: czas generowania się pliku wynikowego i jego rozmiar.

Niestety wiele programów graficznych nie traktuje problemu zbyt poważnie i lecą po linii najmniejszego oporu. Efektem są pliki o zbyt dużych rozmiarach.

Od kilku lat stosuję z powodzeniem program OptiPNG. Dzisiaj ze zdumieniem odkryłem, że jego początki sięgają grudnia 2001.

Program daje pozorny wybór stopnia kompresji. Nie działa to oczywiście tak jak w JPG. Jest to po prostu kompromis jaki sami ustalimy między dokładnością a czasem. Im dokładniej tym dłużej ale tym także mniejszy rozmiar pliku.

Dla programu istnieją różne dodatki/nakładki. Testowałem OptiPNG-UI. Program nie jest najładniejszy ale nie trzeba wszystkiego robić z linii poleceń co jest zbawienne przy większej ilości plików. Domyślnie wszystko jest po włosku. Aby to zmienić należy kliknąć na niebieską strzałkę w prawym górnym rogu i w nowo otwartym oknie wybrać jakąś flagę (dostępne języki: włoski, angielski, hiszpański, francuski).

Optymalizujcie swoje grafiki, stosujcie też technikę CSS Sprites (którą w pewnym stopniu opisałem tutaj). To wszystko daje wymierne efekty.


Program do konwersji mediów między różnymi formatami

17 października 2011

Wpis spóźniony o dobry rok ale lepiej późno niż wcale ;)

Jeszcze dwa lata temu, gdy musiałem przekonwertować plik wideo z jednego formatu na drugi, nie miałem zbyt dużego wyboru. Programy były albo płatne albo z niewielką ilością funkcji i generowały słabej jakości materiał. Jakoś sobie jednak radziłem póki nie natrafiłem na Freemake Video Converter, około rok temu. Wtedy to były pierwsze dni i miesiące jego istnienia ale od razu wyróżniał się wyjątkową użytecznością.

Freemake ma mylącą nazwę bo obsługuje nie tylko pliki wideo ale również audio oraz ma wiele funkcji dodatkowych. Kilka jego cech:

  • obsługuje ponad 200 różnych formatów mediów
  • potrafi konwertować media bezpośrednio z takich stron jak youtube.com, vimeo.com itp.
  • potrafi tworzyć pokazy slajdów z plików graficznych
  • potrafi konwertować media do Flash’a (FLA i SWF)
  • obsługuje formaty obowiązujące na urządzeniach mobilnych typu iPod, iPad, urządzeniach z systemem Android itp.
  • potrafi nagrywać na DVD i Blue-ray
  • obsługuje napisy do filmów
  • zapewnia bezpośrednie wgrywanie filmów i dźwięku do youtube.com
  • pozwala wycinać, obracać i zmieniać format obrazu, łączyć kilka plików w jeden, nadawać różne efekty dodatkowe naszym multimediom
  • i wiele więcej :)

Powyższa lista jest mocno inspirowana tym co oni sami umieścili na swojej stronie ale potwierdzam, że nie ma w tym wszystkim ani trochę przesady. Ten program to zbawienie :) Jest darmowy, z bardzo dużą liczbą funkcjonalności i przy okazji jest banalny w użyciu. Polecam!

PS
Zauważyłem, że istnieje także Freemake Audio Converter. Nie testowałem go, chyba niektóre funkcjonalności dublują się w obu programach. Moim zdaniem lepiej byłoby to połączyć w coś w stylu Freemake Media Converter :)


Łatwiejsze zarządzanie serwerem Minecraft

09 maja 2011

Wygląda na to, że temat Minecraft’a zagości na tym blogu na dłużej bo zarządzanie Debianem i samym serwerem Craftbukkit sprawia mi wielką frajdę ;)

Szukając jakiegoś gotowca do robienia backupów map Minecrafta natrafiłem na arcyciekawy wpis kolegi ze Słowacji gdzie można znaleźć pakiet skryptów *.sh do podstawowej obsługi serwera Craftbukkit. Lekko je dostosowałem do własnych potrzeb (tak aby były kompatybilne z tym co opisałem we wcześniejszym wpisie).

Co dają nam te skrypty?

  • Zgrabne startowanie, restartowanie i zatrzymywanie serwera. Wszystko z powiadomieniami dla graczy.
  • Automatyczny backup naszych map.
  • Automatyczny restart serwera w wybranych godzinach (w przykładzie o 5:30 rano) aby oczyścić RAM serwera, pozwolić mu zaczerpnąć powietrza ;)
  • Automatyczne sprawdzanie co pół godziny czy serwer nadal działa. Gdy coś padnie a Ciebie nie będzie to jest duża szansa, że serwer sam wstanie.

Skrypty:

bukkit_start.sh – prosty skrypt startujący serwer. Od siebie dodałem obsługę pobierania nowych wersji serwera Craftbukkit. Raczej nie wywołuj go bezpośrednio, jest stworzony na potrzeby reszty skryptów.

#!/bin/sh

if [ $# -eq 1 ]
then

    if [ $1 = 'l' -o $1 = '-l' ]
    then

        echo "Pobieranie ostatniej wersji Bukkit"

        wget http://ci.bukkit.org/job/dev-CraftBukkit/lastBuild/artifact/target/craftbukkit-0.0.1-SNAPSHOT.jar
        mv -T craftbukkit.jar craftbukkit-last.jar
        mv -T craftbukkit-0.0.1-SNAPSHOT.jar craftbukkit.jar

    elif [ $1 = 'r' -o $1 = '-r' ]
    then

        echo "Pobieranie ostatniej rekomendowanej wersji Bukkit"

        wget http://ci.bukkit.org/job/dev-CraftBukkit/promotion/latest/Recommended/artifact/target/craftbukkit-0.0.1-SNAPSHOT.jar
        mv -T craftbukkit.jar craftbukkit-last.jar
        mv -T craftbukkit-0.0.1-SNAPSHOT.jar craftbukkit.jar

    fi

fi

java -d64 -Xincgc -Xmx1280M -jar craftbukkit.jar nogui

start.sh – nasz główny skrypt do startowania serwera. Sam martwi się o utworzenie screen’a dla Minecrafta (ale nie zakotwicza go do naszego okna). Nadal możesz używać parametrów -r i -l do pobierania nowych wersji Craftbukkit (opisane tutaj)

#!/bin/bash

if [ $# -eq 1 ]
then
    screen -S minecraft -t world -d -m /opt/craftbukkit/bukkit_start.sh $1
else
    screen -S minecraft -t world -d -m /opt/craftbukkit/bukkit_start.sh
fi

backup.sh – skrypt robi backup map serwera. Powiadamia grających użytkowników o przebiegu procesu, troszczy się o zapisanie mapy, kopiuje pliki i sam usuwa stare kopie bezpieczeństwa. Możesz skorzystać z wersji, która pakuje wszystko do plików zip ale ja stosuję proste kopiowanie wszystkich plików i folderów (działa szybciej a miejsca na dysku i tak nie brakuje). Ten skrypt kopiuje mapy o nazwach normal, nether i survival. Będziesz pewnie musiał dostosować skrypt do własnych potrzeb.

Jest też jedna wada. Skrypt robi backup nawet gdy między jedną kopią bezpieczeństwa a drugą nie było żadnych graczy. W takiej sytuacji nie ma powodu do robienia kopii bo nic się nie zmieniło na mapach. Można to załatwić poprzez użycie pluginu Backup. Przez jakiś czas go używałem i sprawuje się znakomicie. Zrezygnowałem z niego tylko dlatego, że wolę mieć pełnię władzy nad wszystkimi procesami związanymi z serwerem Minecrafta a dodatkowe, niepotrzebne kopie nie są dla mnie problemem (i tak się same usuną po dwóch dniach).

#!/bin/bash
# Minecraft AutoBackup

cd /opt/craftbukkit/

if [ -e server.log.lck ] #check if server is running
then
    screen -S minecraft -p world -X stuff "say Generowanie kopii bezpieczenstwa"`echo -ne '\015'`
    screen -S minecraft -p world -X stuff "save-off"`echo -ne '\015'`
    screen -S minecraft -p world -X stuff "save-all"`echo -ne '\015'`

    #zip -v backups/normal-`date "+%Y-%m-%d-%H-%M-%S"`.zip -r normal
    #zip -v backups/nether-`date "+%Y-%m-%d-%H-%M-%S"`.zip -r nether
    #zip -v backups/survival-`date "+%Y-%m-%d-%H-%M-%S"`.zip -r survival

    cp -r normal backups/normal-`date "+%Y-%m-%d-%H-%M-%S"`
    cp -r nether backups/nether-`date "+%Y-%m-%d-%H-%M-%S"`
    cp -r survival backups/survival-`date "+%Y-%m-%d-%H-%M-%S"`

    screen -S minecraft -p world -X stuff "save-on"`echo -ne '\015'`
    screen -S minecraft -p world -X stuff "say Kopia wygenerowana"`echo -ne '\015'`

    #dla plikow zip
    #find /opt/craftbukkit/backups/ -type f -mmin +2880 -exec rm {} \;

    find /opt/craftbukkit/backups/ -type d -mmin +2880 -exec rm -r {} \;
fi

restart.sh – restartuje serwer i ładnie powiadamia użytkowników o całym procesie.

#!/bin/bash
# Minecraft AutoRestart

cd /opt/craftbukkit/

screen -S minecraft -p world -X stuff "say Automatyczny restart za minute"`echo -ne '\015'`

sleep 50

screen -S minecraft -p world -X stuff "say Automatyczny restart za dziesiec sekund!"`echo -ne '\015'`

sleep 5

screen -S minecraft -p world -X stuff "say Automatyczny restart za piec sekund!"`echo -ne '\015'`
screen -S minecraft -p world -X stuff "save-all"`echo -ne '\015'`

sleep 5

screen -S minecraft -p world -X stuff "stop"`echo -ne '\015'`

sleep 10

screen -S minecraft -t world -d -m /opt/craftbukkit/bukkit_start.sh

sleep 20

screen -S minecraft -X stuff "say I po restarcie..."`echo -ne '\015'`

check.sh – sprawdza czy serwer działa. Jeżeli nie to go startuje i zapisuje logi z wydarzenia.

#!/bin/sh

cd /opt/craftbukkit/

if [ -e server.log.lck ]
then

    echo "Serwer dziala!"

else

    echo "Server nie dziala!"

    screen -S minecraft -t world -d -m /opt/craftbukkit/bukkit_start.sh

    NOW=$(date +"%b-%d-%y %H:%M")
    echo '[' $NOW ']: Serwer nie dzialal... Ale juz dziala!' >> /opt/craftbukkit/ServerCheck.log

fi

stop.sh – mój prosty skrypt do zatrzymania serwera, bez restartu.

#!/bin/sh

cd /opt/craftbukkit/

if [ -e server.log.lck ]
then

    screen -S minecraft -p world -X stuff "say Zatrzymanie serwera za 10 sekund"`echo -ne '\015'`

    sleep 10

    screen -S minecraft -p world -X stuff "stop"`echo -ne '\015'`

else

    echo "Server nie dziala!"

fi

Na koniec podaję wpisy jakie powinny znaleźć się w Cronie aby móc w pełni korzystać z dobrodziejstw wyżej wypisanych skryptów:

## Minecraft
#Backup map co godzine
0  *  *  *  *   cd /opt/craftbukkit && ./backup.sh > /dev/null 2>&1
#Restart serwera o godzinie 5:30
30  5  *  *  *  cd /opt/craftbukkit && ./restart.sh > /dev/null 2>&1
#Sprawdzamy co pol godziny czy serwer dziala, jezeli nie to go podnosimy
*/30  *  *  *  * cd /opt/craftbukkit && ./check.sh > /dev/null 2>&1

Pamiętajcie o uprawnieniach dla skryptów! Komenda chmod +x NAZWA_PLIKU.


Instalacja serwera Minecraft

28 kwietnia 2011

Gry Minecraft nie muszę chyba nikomu przedstawiać. A jeżeli ktoś jej naprawdę nie zna to w sieci jest o niej zatrzęsienie materiałów i nie ma sensu ich tutaj powielać. Jakiś czas temu postanowiłem połączyć przyjemne z pożytecznym i w ramach podnoszenia swoich umiejętności obsługi systemów Linux postawiłem serwer Minecraft na serwerze VPS z systemem Debian.

Minecraft ma swoje własne oficjalne oprogramowanie do serwerów multiplayer ale serwery budowane przez społeczność* są lepsze, bardziej rozbudowane, dają większe możliwości konfiguracji i rozszerzania itd. Zgaduję, że w tej chwili najpopularniejszy jest Bukkit**. Właśnie jego wybrałem i na nim się teraz skupimy.

Tak naprawdę instalacja jest banalna ale zauważyłem, że wiele osób szuka informacji i chyba przyda się taka mała ściągawka. Dodam w tym miejscu tylko tyle, że nie chcę się tutaj przesadnie skupiać na obsłudze samego Debiana. Musisz sobie z tym poradzić sam ale wskazówek w sieci jest pod dostatkiem.

Niektóre elementy poniższej listy zostały napisane pod osoby, które swój serwer VPS/dedykowany zakupiły trzy minuty temu. Jeżeli administrujesz serwerem już jakiś czas to nie wszystko musisz robić ale pewnie sam zdajesz sobie z tego sprawę ;)

Robiłem wszystko z poziomu root’a.

Jedziemy:

  • Przeczytaj to http://wiki.bukkit.org/Setting_up_a_server. Zrobimy trochę inaczej ale przeczytanie oficjalnych zaleceń nikomu nie zaszkodzi :)
  • Połącz się z serwerem. Nie wiesz jak? Skorzystaj z PuTTY i tym tropem podążaj w google :) Przy okazji dodam, że najprawdopodobniej możesz się także połączyć ze swoim serwerem za pomocą klienta SFTP. Ja polecam WinSCP. Jeżeli trudno Ci się poruszać po serwerze za pomocą konsoli to klient SFTP będzie dla Ciebie bardzo pomocny.
  • Przejdź do pliku /etc/apt/sources.list. Znajdują się tu adresy skąd Twój system powinien pobierać paczki oprogramowania. Ja mam tam wpisane następujące adresy:

    Debian 5

    deb http://ftp.de.debian.org/debian/ lenny main non-free contrib
    deb-src http://ftp.de.debian.org/debian/ lenny main non-free contrib
    deb http://security.debian.org/ lenny/updates main contrib non-free
    deb-src http://security.debian.org/ lenny/updates main contrib non-free
    
    deb http://www.backports.org/debian etch-backports main contrib non-free
    

    Debian 6

    deb http://ftp.pl.debian.org/debian/ squeeze main non-free contrib
    deb-src http://ftp.pl.debian.org/debian/ squeeze main non-free contrib
    deb http://security.debian.org/ squeeze/updates main contrib non-free
    deb-src http://security.debian.org/ squeeze/updates main contrib non-free
    deb http://ftp.pl.debian.org/debian/ squeeze-updates main non-free contrib
    deb-src http://ftp.pl.debian.org/debian/ squeeze-updates main non-free contrib
    
    deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
  • Dokonaj aktualizacji wszystkich paczek. Zrobisz to za pomocą następującej komendy:
    apt-get update
  • Sprawdź czy masz zainstalowaną Jave (polecenie java -version powinno zwrócić jakieś informacje o Javie). Wyczytałem, że Bukkit nie zadziała z Javą w wersji OpenJDK (kiedyś chyba działał). Jeżeli nie masz Javy to uruchom następujący kod:
    apt-get install sun-java6-jre

    Teraz wypadałoby napisać czym różni się Java w wersji JRE od JDK. Ten cytat z Wikipedii wyjaśnia wszystko:

    JRE (Java Runtime Environment) – udostępnia kod bajtowy wszystkich klas standardowych i wirtualną maszynę do ich uruchamiania, zaś JDK (Java Development Kit) dodatkowo udostępnia źródła tych klas oraz dodatkowe narzędzia takie jak kompilator, paker czy debuger. Podział ten wprowadzono dlatego, że użytkownik Javy do uruchamiania programów potrzebuje tylko JRE, natomiast do programowania działających aplikacji potrzeba już JDK.

    Administrując serwerem Minecraft nigdy nie miałem potrzeby czegokolwiek kompilować więc moim oczywistym wyborem jest JRE. Jeżeli jednak z jakiegoś powodu chcesz mieć JDK to pakiet ten instaluje się identycznie, wystarczy zmienić literki na końcu polecenia.

    Wskazówka: podczas instalacji Javy pojawią się dwa „okienka” z informacjami o licencji. Aby w pierwszym „kliknąć” na Ok a w drugim zgodzić się na warunki licencji używaj klawisza Tab.

  • W /opt/ stwórz katalog o nazwie craftbukkit.
  • Do /opt/craftbukkit/ wgraj plik o nazwie start.sh o następującej zawartości:
    #!/bin/sh
    
    if [ $# -eq 1 ]
    then
    
        if [ $1 = 'l' -o $1 = '-l' ]
        then
    
            echo "Pobieranie ostatniej wersji Bukkit"
    
            wget http://ci.bukkit.org/job/dev-CraftBukkit/lastBuild/artifact/target/craftbukkit-0.0.1-SNAPSHOT.jar
            mv -T craftbukkit.jar craftbukkit-last.jar
            mv -T craftbukkit-0.0.1-SNAPSHOT.jar craftbukkit.jar
    
        elif [ $1 = 'r' -o $1 = '-r' ]
        then
    
            echo "Pobieranie ostatniej rekomendowanej wersji Bukkit"
    
            wget http://ci.bukkit.org/job/dev-CraftBukkit/promotion/latest/Recommended/artifact/target/craftbukkit-0.0.1-SNAPSHOT.jar
            mv -T craftbukkit.jar craftbukkit-last.jar
            mv -T craftbukkit-0.0.1-SNAPSHOT.jar craftbukkit.jar
    
        fi
    
    fi
    
    java -d32 -Xincgc -Xmx768M -jar craftbukkit.jar nogui
    

    W ostatniej linijce masz taki ciąg znaków: -d32. Jeżeli Twój system jest 32-bitowy to zostawiasz tak jak jest. Jeżeli system jest 64-bitowy to zamieniasz na -d64. W tej samej linijce masz ciąg znaków: 768M. Musisz tu wpisać ile RAM’u Twojego serwera chcesz przeznaczyć na Minecrafta. Niestety gra jest napisana w Javie i zżera ogromne zasoby :/ Wydajność to wielki problem tej gry.

  • Uruchom poniższą komendę aby umożliwić uruchamianie stworzonego przed chwilą pliku:
    chmod +x start.sh
  • Uruchom nasz skrypt z wymuszeniem ściągnięcia serwera (./start.sh -r o ile jesteśmy w katalogu /opt/craftbukkit/)
  • Olej wszystkie błędy :) Serwer na razie tworzy pliki konfiguracyjne etc.
  • Gdy serwer się uruchomił napisz stop i naciśnij Enter.
  • Teraz czeka nas konfiguracja serwera. Opiszę ją bardzo krótko, każdy powinien się bardziej w to zagłębić bo każdy ma inne potrzeby.
    • Najpierw plik ops.txt. Wpisujemy tu linijka pod linijką kolejne nicki operatorów serwera. Wpisuj wszystko małymi literami.
    • Następnie przechodzimy do pliku server.propeties. Tu jest kilka ustawień:
      level-name – nazwa Twojego świata. Może pozostać domyślna wartość.
      hellworld – decydujesz czy ma być dostępne tzw. piekło w Minecraft. Proponuję ustawić na false a dodatkowe światy obsługiwać za pomocą odpowiedniego pluginu np. MultiVerse.
      spawn-monsters – mają się pojawiać potwory?
      online-mode – podczas logowania użytkownika serwer ma sprawdzać czy posiada on oryginalną wersję gry?
      spawn-animals – mają się pojawiać zwierzęta?
      max-players – maksymalna ilość graczy jednocześnie
      server-ip – zostaw puste
      pvp – czy gracze mogą ze sobą walczyć i zadawać sobie rany?
      level-seed – seed mapy***. Można pozostawić puste, wtedy seed wylosuje się sam.
      server-port – port pod jakim ma być dostępny serwer. Można zostawić domyślną wartość.
      allow-flight – czy dozwolone jest latanie?
      white-list – wpuszczać tylko tych użytkowników, którzy są na białej liście?
      spawn-protection – nie jestem pewien do końca za co odpowiada to ustawienie. Nie chce mi się szukać ;) Domyślam się, że określa ilość kratek od punktu startu gry (tzw. spawn) w obrębie których to klatek nie działa np. PVP, bez względu na ustawienia serwera.
    • Plik white-list.txt wypełniamy tylko gdy w server.propeties ustawiliśmy opcję white-list na true. W pliku tym wpisujemy nicki osób, jeden pod drugim. Tylko osoby z tej listy będą wpuszczane na serwer.
  • Na tym konfiguracja serwera się kończy. Możemy ponownie go uruchomić (./start.sh). Nie powinno być już żadnych błędów. Wszystko co „wypluwa” serwer do konsoli możesz przeglądać w pliku server.log.

Serwer działa ale przestanie działać gdy tylko wyłączysz PuTTY. Jak temu zaradzić? Najprościej za pomocą pakietu screen. Najpierw instalacja (wcześniej wyłącz serwer Minecrafta poprzez polecenie stop):
apt-get install screen

Następnie w katalogu /opt/craftbukkit/ wpisujemy to:
screen -dR minecraft

Teraz uruchamiamy serwer:
./start.sh

Działa tak jak zawsze z tym, że teraz spokojnie możemy zamknąć PuTTY a serwer dalej działa. Jeżeli po wyłączeniu konsoli zapragniemy wrócić do naszego serwera to po zalogowaniu na swoje konto serwerowe wystarczy wpisać ponownie screen -dR minecraft i włączy nam się w konsoli nasz serwer. Aby z niego wyjść (oczywiście bez jego wyłączania) naciśnij kombinację przycisków Ctrl+a, puść je i naciśnij literkę d. W ten sposób wrócisz do konsoli ale serwer dalej będzie działał.

Bukkit jest aktualizowany praktycznie codziennie, czasami kilka razy na dzień. Część aktualizacji jest ustawiana jako rekomendowane, część to tylko drobne lub niepełne zmiany. Wszystkie buildy znajdziesz na stronie www.ci.bukkit.org/job/dev-CraftBukkit/. Swój serwer możesz łatwo zaktualizować dzięki tym komendom (najpierw oczywiście zatrzymaj serwer):
./start.sh -r
Zaktualizuje serwer do najnowszej rekomendowanej paczki
./start.sh -l
Zaktualizuje serwer do najnowszej paczki, niekoniecznie rekomendowanej

Po każdej aktualizacji automatycznie uruchamiany jest serwer. Jeżeli po aktualizacji coś jest nie tak (serwer się nie uruchamia, są jakieś błędy etc.) to Twoja ostatnia wersja serwera jest pod nazwą craftbukkit-last.jar.

Gratuluję, Twój serwer powinien już działać. Możesz się na niego zalogować jako gracz podając w kliencie Minecraft adres IP swojego serwera oraz port w postaci IP:port. Jeżeli port zostawiłeś domyślny (25565) to możesz go pominąć i podać tylko IP. Oczywiście można również ustawić to w taki sposób aby nie wpisywać IP a jakąś domenę ale to już sprawa na inny wpis… :)

Prawdziwą siłą Bukkita jest duża baza pluginów, które ułatwiają pracę administratorom/moderatorom, dodają nowe funkcjonalności itd. Namawiam do regularnego sprawdzania bazy pluginów.

Ciekawe artykuły o instalacji/uruchomieniu/obsłudze serwera Bukkit: [1], [2], [3]. Czytaj je jednak z głową bo nie wszystko tam jest prawidłowe… Na przykład zachęta do instalacji OpenJDK lub gorszy sposób uruchomienia serwera (komenda java -Xmx2048M -Xms2048M -jar minecraft_server.jar, która jest odradzana na oficjalnym forum Bukkita).

EDIT 09-05-2011
Gorąco namawiam do przeczytania mojego drugiego wpisu na temat serwera Minecraft. Znajdziesz tam kilka bardzo pomocnych skryptów do zarządzania Craftbukkit.

Przypisy
* – Nigdy nie sprawdzałem jak to wygląda od strony technicznej ale wyczytałem, że CraftBukkit to nakładka na oficjalny serwer, która udostępnia nowe możliwości/ulepszoną komunikację z oficjalnym serwerem. A więc nie jestem pewien czy można tu mówić o samodzielnym serwerze. Dla mnie to nie ma znaczenia ale wyjaśniam żeby ktoś mnie nie posądził, że podaję błędne informacje ;)

** – Tak naprawdę to serwer nazywa się CraftBukkit a Bukkit to API dla deweloperów dzięki któremu łatwiej im się komunikować w ich pluginach z serwerem Minecrafta. Dla uproszczenia będę nazywał serwer jako Bukkit. Sami twórcy tak postępują :)

*** – Każda mapa w Minecraft ma tzw. seed czyli ciąg znaków na podstawie którego generator terenu generuje kolejne porcje mapy. Dla graczy oznacza to ważną informację: jeżeli sami podamy seed to ilekroć będzie on taki sam tyle razy wygeneruje nam się identyczna mapa.


Porządek na pulpicie

21 stycznia 2011

Skoro był wpis o zmianie kolejności ikon okien na pasku zadań to wypada iść za ciosem. Pulpit to miejsce najszybciej dostępne w komputerze. Z tego powodu mam na nim permanentny bałagan :) Trafiają tam wstępnie wszystkie pliki ściągane z sieci i inne elementy, które chce mieć pod ręką. Niestety, mimo moich najszczerszych chęci, nie wychodzi mi utrzymanie tam porządku. Przez lata miałem tak dużo ikon, że nagminnie mi się nie mieściły i do ostatnich plików dostawałem się operując strzałkami na klawiaturze i otwierałem z pamięci naciskając Enter :D Tymczasowe rozwiązania polegały na utworzeniu katalogu o nazwie Pulpit X (gdzie X to kolejny numerek) i przenoszeniu połowy plików do niego :) Aż nadchodził ten chwalebny czas gdy zabierałem się za porządki. Po dwóch tygodniach bałagan wracał :)

Jest jednak sposób aby na pulpit wprowadzić jako taki porządek. Co prawda nadal sami musimy ograniczać ilość plików i katalogów ale czemu by ich jakoś sensownie nie pogrupować? Z pomocą przychodzi Fences. Ten mały programik pozwala tworzyć na pulpicie wydzielone i podpisane obszary. Najłatwiej zaprezentować to na nagraniu:

Program jest darmowy, istnieje również płatna wersja (20$) z dodatkowymi funkcjonalnościami.


Ustawianie kolejności przycisków na pasku zadań

26 grudnia 2010

W systemach z rodziny Windows zawsze brakowało mi jednej, prostej funkcjonalności. Czemu system nie ma wbudowanej możliwości zmiany kolejności ikon okien na pasku zadań (tzw. pasek Start)?! Jak to możliwe, że przez tyle lat programiści Microsoft nie dodali tak banalnej funkcji?!

Niektórzy być może nie widzą problemu. Ja mam jednak bardzo często otworzonych jednocześnie wiele programów, wiele okien (z tego powodu pasek mam zawsze podniesiony o jeden poziom wyżej od standardowego). Przy kilkunastu przyciskach na pasku, brak możliwości ułożenia ich w takiej kolejności jak mi się podoba jest naprawdę uciążliwy.

Rozwiązaniem moich (i pewnie nie tylko moich) bolączek jest program Taskix. Nie ma tu o czym pisać, on po prostu działa ;) Wystarczy zastosować metodę przeciągnij-upuść. Ma też kilka dodatkowych funkcji, dowiecie się o nich z oficjalnej strony (adres wcześniej).

Alternatywą (nie testowałem, w przeciwieństwie do Taskix, który działa u mnie dobre 8 miesięcy) jest Taskbar Shuffle. Darmowy, również z kilkoma dodatkowymi funkcjami.

Bardziej rozbudowany jest xNeat Windows Manager. Tu funkcja, która jest głównym tematem tego wpisu to tylko jedno z kilku ciekawych ulepszeń systemu. Osobiście jednak nie instalowałem bo doszedłem do wniosku, że mimo wszystko nie będę korzystał z dodatkowych funkcjonalności i lepiej zainstalować coś malutkiego i lekkiego.

I to już koniec. Pewnie są jeszcze inne programy, które udostępniają tytułową funkcję ale trzy powyższe powinny zadowolić każdego. Jestem pewien, że nie tylko mi brakowało takiego rozwiązania ;)

PS
Trochę spóźnione ale Wszystkiego Najlepszego! I przy okazji… Nie wiem jaki dla Was był ten rok ale życzę Wam, żeby 2011 był lepszy :)


IE 6 i IE 7 razem

16 stycznia 2009

Dzisiaj chciałbym podać rozwiązanie problemu z którym borykają się wszyscy przygotowujący swoje strony www. Niestety różne przeglądarki różnie interpretują kod HTML/CSS a prym we wkurzaniu webmasterów wiedzie Internet Explorer. Pół biedy z IE 7, która jako tako radzi sobie ze standardami. Ale nadal większą popularnością cieszy się IE 6 (24.3% rynku według ranking.pl w porównaniu do 23.6% dla IE 7).

Stajemy więc przed problemem sprawdzania swojej nowo przygotowywanej strony jednocześnie pod IE 6 i IE 7. I oczywiście Microsoft nam tego nie ułatwia. Podpowiem Wam cztery różne sposoby: Czytaj dalej »


Dlaczego nie używam Google Chrome?

01 października 2008

Ostatnia informacja ze świata przeglądarek Internetowych zaskoczyła wszystkich. Google, które mocno wspierało rozwój Firefox’a, wypuściło niespodziewanie własną przeglądarkę. Rozgorzały setki dyskusji co to teraz będzie, o co tak naprawdę chodzi Google itd.

Mnie osobiście cieszy ten ruch :) Im większa konkurencja tym lepiej. Chociaż zastanawiam się czy Google naprawdę chcę rozpętywać kolejną wojnę przeglądarkową czy po prostu potrzebuje własnego oprogramowania wspierającego takie produkty jak Google Docs czy Gmail. Czas pokaże. Czytaj dalej »


Problemy z WAMP

21 maja 2008

Żeby była jasność: chodzi tu o Windows – Apache – MySQL – PHP :) Jeżeli nie wiesz co to jest to ten wpis Cię nie zainteresuje i nie czytaj dalej :)

Kiedyś wszystko instalowałem i konfigurowałem osobno ale jakiś czas temu skorzystałem z wygodnego pakietu XAMPP, który ma jedną niepodważalną zaletę: łatwo się przełączyć między PHP4 i PHP5. A kiedyś tego potrzebowałem… :)

No więc do niedawna wszystko śmigało ale ostatnio miałem dwa problemy i pomyślałem, że je opiszę, może komuś w ten sposób pomogę.
Czytaj dalej »


Jak wyłączyć User Account Control (UAC) w Windows Vista?

16 lutego 2008

UAC to nowość w Windows Vista w stosunku do poprzednich systemów. Chociażby w XP było tak, że użytkownik był zalogowany na koncie administratora i wszystkie uruchamiane programy zapisywały na dysku cokolwiek chciały, modyfikowały rejestr itd. Wszystko bez ograniczeń. Windows był za to bardzo krytykowany ponieważ była to furtka dla różnego rodzaju złośliwego oprogramowania i w połączeniu z niedoświadczonymi użytkownikami stanowiła duże niebezpieczeństwo.

Programiści Visty wyszli z założenia, że do codziennej pracy (jakiś pakiet biurowy, komunikator, przeglądanie www) nie trzeba nam uprawnień administratora. Dlatego standardowo mamy uprawnienia zwykłego użytkownika. Niby słusznie ale…

Mi to naprawdę nie jest do szczęścia potrzebne :/ Za każdym razem gdy coś uruchamiam to muszę klikać w różne komunikaty i potwierdzać kilka razy, że wiem co robię. Ale to pół biedy. Gorzej, że nie radzą sobie z tym niektóre programy i nie chcą działać przy włączonym UAC. A już cyrki wychodzą gdy coś ma automatycznie się uruchamiać wraz ze startem systemu. Czytaj dalej »