ฉันสามารถจำลอง x86 CPU เพื่อรันเซิร์ฟเวอร์ Teamspeak 3 ได้หรือไม่


15

การอ่านโพสต์ที่แตกต่างกันและ ฉันสามารถเลียนแบบ x86 เพื่อเรียกใช้ Windows 95 ได้หรือไม่? ดูเหมือนจะเป็นไปได้ที่จะจำลอง x86 CPU

ในกรณีพิเศษของฉันฉันต้องการเรียกใช้เซิร์ฟเวอร์ Teamspeak ซึ่งไม่ได้มีไว้สำหรับ ARM ในขณะนี้ เป็นไปได้ไหมที่จะเลียนแบบเซิร์ฟเวอร์ Teamspeak?

ฉันรู้ว่ามีทางเลือกอื่นพึมพำอยู่ แต่นั่นไม่ใช่ทางเลือกสำหรับฉันเพราะในชุมชนเกมฉันใช้ Teamspeak 3 เป็นเกมเดียวที่ใช้


2
หากคุณต้องจำลอง x86 ฉันสงสัยว่าคุณจะได้ประสิทธิภาพที่คุณปรารถนา
Jivings

2
นับประสาการประมวลผลเสียงตามเวลาจริงในสภาพแวดล้อมที่เลียนแบบ ฉันคิดว่าคุณสามารถถามนักพัฒนาของ TeamSpeak ได้ดีกว่า (ถ้าเป็นไปได้) พวกเขาสามารถย้ายไปที่ ARM อย่างไรก็ตามฉันได้อ่านเรื่องราวที่รัสเซียบางคนสร้างเครื่องจำลอง x86 บน ARM แต่ฉันคิดว่ามันยังไม่พร้อมใช้งาน
ikku

1
การแก้ไขของคุณอีกครั้ง: ถ้าคุณต้องโฮสต์เซิร์ฟเวอร์คุณต้องตัดสินใจว่าลูกค้าคนอื่นควรใช้บริการใด หากพวกเขาคัดค้านพวกเขาจะต้องจัดการมันเอง - Teamspeak ก็จะไม่ทำงานที่ Raspberry Pi ในตอนนี้ ไม่มีเหตุผลที่สมเหตุสมผลสำหรับการพึมพำ - ฟรี, โอเพ่นซอร์ส, พกพา, คุณภาพดี, การใช้ทรัพยากรต่ำ ฯลฯ
Tobias Kienzler

ต่อไปอาจจะ wiki.winehq.org/ARMเป็นที่น่าสนใจอ่านสำหรับคุณ ...
โทเบียส KIENZLER

1
@TobiasKienzler ฉันไม่ต้องโฮสต์เซิร์ฟเวอร์ ฉันอาสาที่จะโฮสต์เซิร์ฟเวอร์ ทุกคนที่ฉันรู้จักในชุมชน German World of Warcraft ใช้ Teamspeak แม้ว่าคุณจะให้สมาชิกกิลด์ของคุณใช้พึมพำคุณก็มักจะมีผู้เยี่ยมชมซึ่งรู้จัก Teamspeak ด้วยเช่นกัน
keiki

คำตอบ:


25

ฉันได้ Teamspeak 3 ทำงานโดยใช้ qemu รัน x86 Debian บีบ มีห้องพักสำหรับการปรับปรุงอย่างแน่นอน แต่สำหรับตอนนี้นั่นคือสิ่งที่ใช้ได้กับฉัน ฉันหวังว่าฉันจะไม่ลืมอะไรบางอย่าง

ก่อนอื่นต้องขอขอบคุณ Dietmar และ meigrafd ของฟอรั่มราสเบอร์รี่ หากปราศจากงานของพวกเขาฉันจะไม่ประสบความสำเร็จ

ทำอย่างไร

กำลังติดตั้ง qemu

  1. เราต้องการซอฟต์แวร์บางอย่าง apt-get install git zlib1g-dev libsdl1.2-dev
  2. ดาวน์โหลดแหล่งที่มาของ qemu ( wget 198.154.101.186/RaspberryPI/qemudidi2.rar) ซึ่ง patched โดย Dietmar สำหรับ Raspberry pi แล้ว มันคือ qemu 0.15.50 จาก Thoronir เพราะการรองรับโฮสต์ ARM นั้นดูเหมือนจะแย่กว่าเวอร์ชั่นปัจจุบัน
  3. unrar unrar x qemuADLI.part1.rarมัน คุณต้องใช้เวอร์ชันที่ไม่ใช่ unrar ( ลิงก์ไปยัง howto )
  4. กำหนดค่าสิ่งที่จะรวบรวม (ใช้เวลาประมาณหนึ่งนาที) ./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. ตอนนี้รวบรวมmake(ใช้เวลาอย่างน้อยครึ่งชั่วโมง)
  6. ตอนนี้ติดตั้ง make install
  7. ตอนนี้ติดตั้ง qemu เรียบร้อยแล้ว

การเตรียมภาพ Debian (ใช้ Windows เป็นโฮสต์)

  1. ดาวน์โหลดและติดตั้ง qemu สำหรับ Windows ( ลิงก์ )

  2. ดาวน์โหลดภาพ Debian netinstall ( บีบ ) ฉันใช้การบีบ แต่เสียงฮืด ๆ อาจจะดีเช่นกัน

  3. สร้างภาพโดยใช้qemu-img.exe create -f qcow2 G:\debian.img 1500M(ควรมีขนาดเล็กกว่าพอใช้)

  4. ติดตั้งเดเบียน x86 ฉันแนะนำให้เลือกไม่มีแพ็คเกจเมตาqemu -cpu 486 -hda G:\debian.img -cdrom G:\debian-6.0.4-i386-netinst.iso -boot d -m 512 -smp 1

  5. หลังจากการติดตั้งเรียกใช้คำสั่ง qemu อีกครั้ง qemu -cpu 486 -hda G:\debian.img -boot d -m 512 -smp 1 -redir tcp:9022::22 -redir udp:1234::9987แต่มีการเปลี่ยนแปลงบางอย่าง -redir ใช้เพื่อเปลี่ยนเส้นทางเครือข่ายจากแขกไปยังพอร์ตโฮสต์

  6. ตอนนี้ให้ติดตั้งน้อยลงและโปรแกรมแก้ไขที่คุณโปรดปราน (เช่น nano, vim ฯลฯ ) ที่คุณต้องการใช้ apt-get install less vim

  7. ติดตั้งเซิร์ฟเวอร์ OpenSSH apt-get install openssh-server

  8. ติดตั้ง Teamspeak ตามปกติ

  9. เชื่อมต่อกับ teamspeak จากโฮสต์ windows ของคุณโดยใช้ localhost: 1234 (จำไว้ข้างต้นเราเปลี่ยนเส้นทางพอร์ต)

  10. ทดสอบการเชื่อมต่อผ่าน ssh / putty โดยใช้ localhost: 9022

  11. ปิดshutdown -hP nowภาพและคัดลอกผ่าน scp (winscp) ไปยัง pi ของคุณ

เรียกใช้บน Pi (ใช้ SSH สำหรับคำสั่งต่อไปนี้)

  1. รับ qemu Bios ที่หายไป wget -O /usr/share/qemu/sgabios.bin http://qemu.weilnetz.de/w32/2012-06-28/sgabios.bin

  2. เริ่มเลย! qemu -cpu 486 -hda debian.img -m 150m -smp 1 -redir tcp:9022::22 -redir udp:9055::9987 --nographic

  3. หากคุณได้รับข้อผิดพลาดของหน่วยความจำให้ลองสองสามครั้ง

  4. ถ้ามันบอกว่าเริ่มต้นด้วงแล้วรอสักครู่ (กำลังบูตในพื้นหลัง แต่คุณจะไม่ได้รับพรอมต์ที่นี่!) ตอนนี้เข้าสู่ระบบด้วยเทอร์มินัล SSH อื่นเพื่อเข้าสู่ระบบ 'ssh root @ localhost -p 9022'

  5. ตอนนี้เริ่ม Teamspeak แล้วลองลงชื่อเข้าใช้ที่พอร์ต 9055 ของ Pi

  6. ปิดอีกครั้งสำหรับแขก qemu

  7. เริ่มต้นอีกครั้ง แต่เพิ่ม -daemonize ดังนั้นจึงรันได้แม้ในขณะที่คุณออกจากระบบ ฉันยังสร้างสคริปต์เพื่อช่วยฉันด้วย

ประสิทธิภาพ

My Pi เป็นรุ่น 256 MB โอเวอร์คล็อกที่ 1,000 Mhz โดยใช้ raspi-config

Pi ทำงานอย่างต่อเนื่องที่โหลด CPU เฉลี่ย 70% มันแตกต่างกันระหว่าง 50% (ใช้ 700 MHz) และเกือบ 100% โดยใช้ 1000 MHz แต่การโหลดจะแสดง "0.77, 0.83, 0.80" ซึ่งไม่เป็นไร

ในอนาคตฉันหวังว่าจะใช้เวอร์ชัน Teamspeak แบบดั้งเดิม (ความหวังของฉันยังคงอยู่) หรือใช้ qemu ในโหมดผู้ใช้และประสิทธิภาพที่ดีขึ้นเมื่อใช้เวอร์ชันปัจจุบันมากขึ้น เวลาจะบอกเอง :)

ฉันยังไม่ได้ทดสอบประสิทธิภาพของ teamspeak เองหากสามารถใช้งานได้กับสถานการณ์เกม ฉันสังเกตเห็นว่ามีค่าใช้จ่ายในการตอบรับหลายมิลลิวินาที แต่ยังไม่ต้องกังวลมากเกินไป


2
แน่นอน! ฉันเดาฉันประเมิน underestimating Pi ของ "300 MHz Pentium เท่ากัน" ...
Tobias Kienzler

ฉันยังต้องระวังประสิทธิภาพ มีช่องเสียบ Teampeak กี่ช่องที่จัดการได้
keiki

Dietmar ได้ประสบความสำเร็จในการทำให้โหมดผู้ใช้ทำงานในเวอร์ชั่น qemu ปัจจุบันพร้อมด้วยประสิทธิภาพที่ยอดเยี่ยมสำหรับไวน์
keiki

คุณมีข้อมูลล่าสุดเกี่ยวกับสิ่งนั้นหรือไม่?
ความยาวคลื่น

@ ความยาวคลื่นไม่จริง สำหรับฉันมันเป็นการทดลองเพื่อให้มันทำงาน แต่ฉันจะไม่แนะนำให้ใช้เพราะด้านหนึ่งเป็นงานที่ต้องทำมากมายและอีกด้านหนึ่งมันเป็นสิ่งที่ไม่แน่นอนด้วยประสิทธิภาพที่ไม่ดี ฉันได้เช่า vserver ราคาถูกเพื่อตัวเองแล้วและฉันก็สบายดี ผมเพียงแค่ต้องการพลังงานของเซิร์ฟเวอร์มากขึ้นแล้วล่ะค่ะ :)
Keiki

4

พิจารณาใช้Murmur (เซิร์ฟเวอร์สำหรับ Mumble)แทนซึ่งสามารถเรียกใช้ตามที่ได้ทำบน Pi แล้วในขณะที่ยังมีรุ่น x86 สำหรับ Linux, Mac, Windows, iOS, ...


1
นอกจากนี้ยังมีuMurmurซึ่งเป็นทรัพยากรที่เป็นมิตรมากขึ้นสำหรับ Rpi (แม้ว่าฉันจะมีช่วงเวลาที่ไม่ดีในการรวบรวม)
David Strencsev

1

นอกจาก QEMU คุณสามารถใช้ ExaGear Desktop เพื่อจำลอง x86 บน Raspberry Pi และรัน Teamspeak 3 Server บน RPi ExaGear Desktop เร็วกว่า QEMU และอนุญาตให้เซิร์ฟเวอร์ ts3 จัดการไคลเอนต์ประมาณ 50-100 บน RPi3 การติดตั้งนั้นง่ายกว่า

  1. ติดตั้ง ExaGear Desktop ซึ่งอนุญาตให้เรียกใช้ซอฟต์แวร์ x86 บน Raspberry (โปรดทราบว่า ExaGear ไม่ฟรีและคุณต้องได้รับสิทธิ์ใช้งาน)

    tar -xvzpf exagear-desktop-rpi2.tar.gz
    sudo ./install-exagear.sh
    
  2. เรียกใช้ ExaGear

    exagear
    

    ตอนนี้คุณเข้าสู่โลก x86

  3. ฉันไม่แนะนำให้เรียกใช้ Teamspeak 3 Server ใต้ราก ดังนั้นสร้างผู้ใช้พิเศษ

    sudo adduser teamspeak
    sudo passwd teamspeak
    
  4. สร้างไดเร็กทอรีการติดตั้งและทำให้ teamspeak ผู้ใช้เป็นเจ้าของไดเร็กทอรีนี้:

    sudo mkdir /usr/local/teamspeak
    sudo chown teamspeak /usr/local/teamspeak
    
  5. ล็อกอินเป็นผู้ใช้ teamspeak ดาวน์โหลดเซิร์ฟเวอร์ ts3 และคลายไฟล์เก็บถาวร:

    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. เริ่มเซิร์ฟเวอร์ ts3

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

    ป้อนคำอธิบายรูปภาพที่นี่ เซิร์ฟเวอร์ ts3 ของคุณกำลังทำงาน คุณควรคัดลอกข้อมูลประจำตัวที่จำเป็นสำหรับการเชื่อมต่อกับไคลเอนต์ teamspeak 3

  7. กด CTRL + C จากนั้นเริ่มเซิร์ฟเวอร์ในพื้นหลัง

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

การเรียนการสอนจะขึ้นอยู่กับโพสต์นี้


ฉันไม่ต้องการที่จะทำให้คำตอบของคุณไม่ดี แต่สำหรับฉันดูเหมือนว่าคุณกำลังทำงานให้กับ ExaGear อยู่ ดังนั้นคำตอบนี้จะเป็นการโฆษณา หากเป็นกรณีนี้โปรดระบุไว้ในคำตอบตอนต้น ขอขอบคุณ.
keiki

-1

ด้วย RPI 2 ที่เพิ่งเปิดตัวมันเป็นไปได้ที่จะติดตั้งเซิร์ฟเวอร์ teamspeak ที่ทำงานโดยใช้ linaro ubuntu และ exagear desktop (อันสุดท้ายคุณสามารถซื้อได้ 30 ดอลลาร์)

มันเป็นการติดตั้งไปข้างหน้า:

  1. ติดตั้ง linaro ubuntu

  2. ซื้อและติดตั้ง exagear (ซึ่งฉันต้องทำด้วยตนเอง แต่คุณจะสามารถทำได้อย่างง่ายดาย)

  3. ดาวน์โหลดและแกะ teamspeak3-server_linux-x86-3.0.11.2.tar ใน / home / linaro / ดาวน์โหลดแผนที่ 4: เริ่ม exagear 5: เริ่ม teamspeak

และการทำงานของคุณ :) (โอ้และอย่าลืมส่งต่อพอร์ตหากคุณอยู่หลังไฟร์วอลล์)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.