poniedziałek, 30 maja 2011

StarCraft przez Hamachi

Niestety Blizzard już dawno zapomniał o StarCrafcie i o problemach jego posiadaczy z grą na Battle.net (a może nie potrafi ich rozwiązać). Dlatego też obecnie najlepszym rozwiązaniem jest gra przez LAN lub właśnie Hamachi :> Jednak taka gra nie jest łatwą sztuką, bo SC ma tendencję do nie wykrywania komputerów połączonych przez sieć Hamachi.
Jednak i na to znalazło się lekarstwo -> ForceBindIP :D Jak więc odpalić SC tak by móc pograć sobie ze znajomymi przez Hamachi? :>
  1. Ściągnij i zainstaluj ForceBindIP (strona | instalator | plik zip)
  2. Ściągnij i zainstaluj Hamachi (oficjalna strona | starsze wersje)
  3. Uruchom Hamachi i skopiuj swój adres IP
  4. Utwórz skrót do StarCraft.exe i wejdź w jego właściwości

  5. Przy polu "element docelowy" dopisz ForceBindIP 5.xxx.xxx.xxx (twój IP z Hamachi)
  6. Kliknij OK lub Zastosuj
  7. Jeśli Windows potulnie przyjął polecenie to za pomocą tego skrótu powinieneś móc łączyć się przez sieć Hamachi i bez problemów grać w SC z innymi ludźmi :)
    Jeśli jednak Windows spłatał figla i obwieścił iż nie wie co to ForceBindIP to przejdź do punktu 8.
  8. Ściągnij plik zip z ForceBind (link) i wypakuj go do folderu "System32" w katalogu Windowsa (jeśli UAC będzie pytał się czy jesteś pewien - wciśnij, że jesteś ^^). Powróć do punktu 5. :)
Jeśli mimo tego StarCraft nie pozwala na podłączenie się do gry - spróbuj sposobu z tego wpisu: Gdy program nie widzi sieci Hamachi.

    niedziela, 22 maja 2011

    Problem z łącznością z bshellz.net?

    Jakiś czas temu jeden z adresów IP bshellz.net został wyłączony - jak twierdzi admin z racji używania go do ataku ddos... więc jeśli ktoś dotychczas łączył się za pomocą server1.bshellz.net (albo innych, które nie działają) to niech (za radą admina) przeniesie się na ssh.bshellz.net, który póki co śmiga :)

    PS nie wiedzieć czemu bshellz.net ładuje się strasznie długo gdy nie wchodzę bez szyfrowanego połączenia (http a nie https) :x

    PS2 okazjue się, że bshellz.net przenosi się na nowy serwer -> skopiowano na niego wszystkie pliki, ale zmiany wprowadzone na ssh.bshellz.net nie są widoczne na nowym serwerze (newshell.bshellz.net)

    a takie info wita nas na starym serwerze:
    IMPORTANT!

    All user accounts have been moved onto new servers...
    in the next week this server will be closed down!!

    Please log in and use these servers from now onwards...

    ssh.newshell.bshellz.net for free users and

    ssh.newelite.bshellz.net for elite users

    Thank you!

    piątek, 6 maja 2011

    javascript onchange

    Jedną z iście upierdliwych rzeczy podczas pisania skryptów w js jest event onchange, który ma odpalać się w momencie zmiany zawartości elementu. Sam event w sobie jest bardzo fajny i nic do niego nie mam, natomiast problemem jest uboga dokumentacja języka, a konkretniej to, że większość źródeł nie informuje o tym, iż zdarzenie onchange jest uruchamiane tylko w przypadku zmiany wartości przez użytkownika.

    Tak więc jeśli mamy taki kod:
    function funx()
    {
       var x = document.getElementById('input');
       x.value = 'nowa wartość';
    }
    To wartość elementu #input owszem zostanie zmieniona, ale jego onchange już uruchomiony nie zostanie. Remedium? Wystarczy dodać jedną linijkę:
    function funx()
    {
       var x = document.getElementById('input');
       x.value = 'nowa wartość';
       x.onchange();
    }
    x.onchange() powoduje iż skrypt uruchamia kod podpięty pod eventa onchange.

    I żeby nie było - taka budowa tego eventa jest bardzo rozsądna (ogranicza niepożądane rekurencje, upraszcza kod).