Czy mogę emulować procesor x86, aby uruchomić serwer Teamspeak 3?

15

Czytanie różnych postów i czy mogę emulować x86, aby uruchomić system Windows 95? wydaje się, że do pewnego stopnia możliwa jest symulacja procesora x86.

W moim specjalnym przypadku chcę uruchomić serwer Teamspeak, który obecnie nie jest dostępny dla ARM. Czy można emulować serwer Teamspeak?

Wiem, że istnieje natywny bełkot rodzimy. Ale to nie jest dla mnie alternatywa, ponieważ w społeczności gier jestem w Teamspeak 3 jako jedyny używany.

keiki
źródło
2
Jeśli musisz emulować x86, wątpię, byś osiągnął pożądaną wydajność.
Jivings,
2
Nie mówiąc już o przetwarzaniu dźwięku w czasie rzeczywistym w emulowanym środowisku. Myślę, że lepiej zapytać twórców TeamSpeak, czy (jeśli to możliwe) mogą przenieść go na ARM. Przeczytałem jednak historię, że jakiś Rosjanin stworzył emulator x86 na ARM, ale myślę, że nie jest jeszcze dostępna.
ikku
1
ponownie swój EDIT: dobrze, jeśli ty masz gospodarzem serwera, a następnie pan zdecydować, które klient powinien skorzystać inni. Jeśli się sprzeciwiają, muszą sami go hostować - Teamspeak po prostu nie będzie w tej chwili działał w Raspberry Pi. Nie ma żadnego uzasadnionego powodu, by nie mamrotać - jest darmowy, open source, przenośny, świetna jakość, niskie zużycie zasobów itp.
Tobias Kienzler
w każdym razie może wiki.winehq.org/ARM jest dla Ciebie interesującą lekturą ...
Tobias Kienzler
1
@TobiasKienzler Nie muszę hostować serwera. Zgłaszam się na serwer. Wszyscy, których znam w niemieckiej społeczności World of Warcraft, korzystają z Teamspeak. Nawet gdy zachęcasz członków gildii do używania bełkotu, często masz odwiedzających, którzy również znają tylko Teamspeak.
keiki

Odpowiedzi:

25

Mam Teamspeak 3 działający za pomocą qemu, który uruchamia ściśnięcie Debiana x86. Z pewnością jest miejsce na ulepszenia, ale na razie to mi się udało. Mam nadzieję, że o czymś nie zapomniałem.

Przede wszystkim dzięki Dietmarowi i meigrafdowi z forum Raspberry Pi. Bez ich pracy nie odniosłbym sukcesu.

Jak

Instalowanie qemu

  1. Potrzebujemy oprogramowania apt-get install git zlib1g-dev libsdl1.2-dev
  2. Pobierz źródło qemu ( wget 198.154.101.186/RaspberryPI/qemudidi2.rar) już załatanej przez Dietmar dla Raspberry pi. Jest to qemu 0.15.50 od Thoronir, ponieważ obsługa hosta ARM wydaje się być jeszcze gorsza w przypadku obecnej wersji.
  3. Unrar to unrar x qemuADLI.part1.rar. Musisz użyć zwykłej niewolnej wersji ( link do howto )
  4. Skonfiguruj, co skompilować (zajmuje około minuty) ./configure --target-list="i386-softmmu" --enable-sdl --extra-cflags="-O3 -mfloat-abi=hard -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -march=armv6zk" --audio-drv-list="alsa oss sdl pa" --audio-card-list="ac97 es1370 sb16 cs4231a adlib gus hda"
  5. Teraz kompilacja make(zajmuje co najmniej pół godziny)
  6. Teraz zainstaluj make install
  7. Teraz qemu został pomyślnie zainstalowany.

Przygotowanie obrazu Debiana (używanie Windows jako hosta)

  1. Pobierz i zainstaluj qemu dla Windows ( Link )

  2. Pobierz obraz instalacyjny Debiana ( ściśnij ). Użyłem ściśnięcia, ale świszczący oddech może być również dobry.

  3. Utwórz obraz za pomocą qemu-img.exe create -f qcow2 G:\debian.img 1500M(powinien wystarczyć również mniejszy rozmiar)

  4. Zainstaluj debian x86. Polecam wybrać brak pakietu meta.qemu -cpu 486 -hda G:\debian.img -cdrom G:\debian-6.0.4-i386-netinst.iso -boot d -m 512 -smp 1

  5. Po instalacji uruchom ponownie polecenie qemu, ale z pewnymi zmianami qemu -cpu 486 -hda G:\debian.img -boot d -m 512 -smp 1 -redir tcp:9022::22 -redir udp:1234::9987. -redir służy do przekierowywania sieci z gościa do portów hostów.

  6. Teraz zainstaluj mniej, a ulubiony edytor (np. Nano, vim itp.), Którego lubisz używać apt-get install less vim

  7. Zainstaluj serwer OpenSSH apt-get install openssh-server

  8. Zainstaluj Teamspeak jak zwykle.

  9. Połącz się z teamspeak z twojego hosta Windows za pomocą localhost: 1234 (pamiętaj, że przekierowaliśmy port)

  10. Przetestuj połączenie z nim za pomocą ssh / putty przy użyciu localhost: 9022

  11. Zamknij shutdown -hP nowobraz i skopiuj go za pomocą scp (winscp) do swojego pi.

Uruchom go na Pi (użyj SSH dla następujących poleceń)

  1. Zdobądź brakujące Qemu Bios wget -O /usr/share/qemu/sgabios.bin http://qemu.weilnetz.de/w32/2012-06-28/sgabios.bin

  2. Zacznij to! qemu -cpu 486 -hda debian.img -m 150m -smp 1 -redir tcp:9022::22 -redir udp:9055::9987 --nographic

  3. Jeśli pojawi się błąd pamięci, spróbuj go kilka razy.

  4. Jeśli mówi o rozpoczęciu Grub, poczekaj kilka minut (uruchamia się w tle, ale nigdy nie pojawi się tutaj monit!). Teraz zaloguj się za pomocą innego terminala SSH, aby zalogować się „ssh root @ localhost -p 9022”

  5. Teraz uruchom Teamspeak i spróbuj zalogować się na porcie 9055 Pi.

  6. Zamknij ponownie gościa qemu.

  7. Uruchom go ponownie, ale dodaj -daemonize, aby działał nawet po wylogowaniu. Zrobiłem też skrypt, który mi pomoże.

Występ

My Pi to wersja 256 MB podkręcona do 1000 MHz przy użyciu raspi-config.

Pi działa stale przy 70% średnim obciążeniu procesora. Zmienia się między 50% (przy użyciu 700 MHz) i prawie 100% przy użyciu 1000 MHz. Ale obciążenie pokazuje „0,77, 0,83, 0,80”, co jest w porządku.

W przyszłości mam nadzieję albo użyć natywnej wersji Teamspeak (mam nadzieję, że nadal trwa), albo użyć qemu w trybie użytkownika i lepszej wydajności z bardziej aktualną wersją. Czas pokaże :)

Muszę jeszcze przetestować wydajność samego teamspeak, jeśli jest on użyteczny w sytuacjach grania. Zauważyłem pewne milisekundowe opóźnienie nad głową, ale jeszcze nie za bardzo się martwię.

keiki
źródło
2
Rzeczywiście fajnie! Chyba nie doceniałem „Równoważności Pentium Pentium 300 MHz” ...
Tobias Kienzler,
Nadal muszę uważać na występ. Ile automatów drużynowych może obsłużyć w ten sposób.
keiki
Dietmarowi udało się już uruchomić tryb użytkownika w aktualnej wersji qemu z dużym wzrostem wydajności wina.
keiki
Czy masz na ten temat nowsze informacje?
Długość fali
@TheWelelength Niezupełnie. Dla mnie to był eksperyment, żeby go uruchomić. Ale nie polecałbym go używać, ponieważ z jednej strony jest to dużo pracy, az drugiej strony jest to bardzo niestabilna rzecz o złej wydajności. Wypożyczyłem sobie w tym celu tani vserver i nie mam nic przeciwko. W każdym razie po prostu potrzebowałem więcej mocy serwera :)
keiki,
4

Zastanów się nad użyciem Murmur (serwera Mumble) , który można uruchamiać natywnie, jak to już zrobiono w Pi , podczas gdy istnieją również wersje x86 dla Linux, Mac, Windows, iOS, ...

Tobias Kienzler
źródło
1
Jest też uMurmur, który jest bardziej przyjazny dla zasobów dla Rpi (chociaż miałem zły czas na jego skompilowanie).
David Strencsev
1

Oprócz QEMU możesz używać ExaGear Desktop do emulacji x86 na Raspberry Pi i uruchamiania Teamspeak 3 Server na RPi. ExaGear Desktop jest znacznie szybszy niż QEMU i pozwala serwerowi ts3 zarządzać około 50-100 klientami na RPi3. Również instalacja jest prostsza.

  1. Zainstaluj ExaGear Desktop, który pozwala na uruchamianie oprogramowania x86 na Raspberry (zwróć uwagę, że ExaGear nie jest darmowy i musisz uzyskać licencję)

    tar -xvzpf exagear-desktop-rpi2.tar.gz
    sudo ./install-exagear.sh
    
  2. Uruchom ExaGear

    exagear
    

    Teraz wszedłeś w świat x86.

  3. Zalecam, aby nie uruchamiać serwera Teamspeak 3 pod rootem. Utwórz specjalnego użytkownika

    sudo adduser teamspeak
    sudo passwd teamspeak
    
  4. Utwórz katalog instalacyjny i ustaw użytkownika teamspeak jako właściciela tego katalogu:

    sudo mkdir /usr/local/teamspeak
    sudo chown teamspeak /usr/local/teamspeak
    
  5. Zaloguj się jako użytkownik teamspeak, pobierz serwer ts3 i rozpakuj archiwum:

    su teamspeak
    cd /usr/local/teamspeak
    wget http://dl.4players.de/ts/releases/3.0.11.4/teamspeak3-server_linux-x86-3.0.11.4.tar.gz
    tar -xzvf teamspeak3-server_linux-x86-3.0.11.4.tar.gz
    rm teamspeak3-server_linux-x86-3.0.11.4.tar.gz
    
  6. Uruchom serwer ts3

     /usr/local/teamspeak/teamspeak3-server_linux-x86/ts3server_minimal_runscript.sh
    

    wprowadź opis zdjęcia tutaj Twój serwer ts3 jest uruchomiony. Powinieneś skopiować dane uwierzytelniające, które będą wymagane do połączenia z klientem Teamspeak 3.

  7. Naciśnij klawisze CTRL + C, a następnie uruchom serwer w tle

    /usr/local/teamspeak/teamspeak3-server_linux-x86/ts3server_startscript.sh start
    

Instrukcja oparta jest na tym poście

vadik_lyutiy
źródło
Nie chcę, aby twoja odpowiedź była zła. Ale wydaje mi się, że pracujesz dla ExaGear. Tak więc ta odpowiedź byłaby reklamą. W takim przypadku prosimy o podanie go w odpowiedzi na początku. Dziękuję Ci.
keiki
-1

z wydanym niedawno RPI 2 można zainstalować działający serwer teamspeak, używając Linaro Ubuntu i exagear Desktop (ostatni można kupić za 30 dolarów).

jest to prosta instalacja:

  1. zainstaluj linaro ubuntu

  2. kup i zainstaluj exagear (co musiałem zrobić ręcznie, ale będziesz mógł to zrobić również łatwo)

  3. pobierz i rozpakuj teamspeak3-server_linux-x86-3.0.11.2.tar w / home / linaro / download map 4: start exagear 5: start teamspeak

i jesteś gotowy :) (och, i nie zapomnij zrobić przekierowania portów, jeśli jesteś za firewallem)

roelvisje
źródło