
PwnAdventure3 Server
Pwnie Island में आपका स्वागत है!
Pwn Adventure 3: Pwnie Island एक सीमित-रिलीज़, प्रथम-व्यक्ति, वास्तविक ओपन-वर्ल्ड MMORPG है जो एक खूबसूरत द्वीप पर सेट है जहाँ कुछ भी हो सकता है। ऐसा इसलिए क्योंकि यह गेम जानबूझकर सभी प्रकार के मूर्खतापूर्ण हैक के लिए असुरक्षित है! उड़ना, अंतहीन नकदी, और बहुत कुछ सब एक क्लाइंट परिवर्तन या नेटवर्क प्रॉक्सी की दूरी पर है। क्या आप इस उथल-पुथल के लिए तैयार हैं?!
यह सेटअप एक वीडियो श्रृंखला का हिस्सा है जो इस गेम में विभिन्न हैक और चुनौतियों को कवर करती है।
शुरुआत में सामान्य Let's Play को छोड़कर, पूरी श्रृंखला 4 घंटे से भी कम समय में Pwn Adventure 3 की सभी चुनौतियों को कवर करती है।
आधिकारिक README से:
कम से कम 2GB RAM, अधिक RAM एक ही मशीन पर अधिक इंस्टेंस चलाने की अनुमति देगी
गेम सर्वर को किसी ग्राफिक्स हार्डवेयर की आवश्यकता नहीं है और यह पूरी तरह से कंसोल पर चलता है। Amazon AWS और Digital Ocean VPS इंस्टेंस पर अच्छी तरह से चलने के लिए जाना जाता है।
गेम सर्वर को चलाने के लिए बहुत अधिक RAM की आवश्यकता होती है, लेकिन एक ही होस्ट पर कई इंस्टेंस चलाने की अनुमति देने के लिए fork और copy-on-write मेमोरी का उपयोग करता है।
2GB RAM वाले सर्वर के लिए, 5 से अधिक इंस्टेंस चलाने की अनुशंसा नहीं की जाती है, लेकिन 8GB RAM वाला सर्वर आमतौर पर उतने चला सकता है जितना CPU संभाल सकता है।
पर्याप्त RAM होने पर प्रति CPU कोर 2-3 इंस्टेंस का उपयोग करने की अनुशंसा की जाती है। आप प्रति कोर 4-5 इंस्टेंस चला सकते हैं, लेकिन ऐसा करने से थोड़ी देरी हो सकती है।
क्लाइंट और सर्वर की फ़ाइलें भी 2GB से अधिक हैं, इसलिए कई GB खाली डिस्क स्थान की आवश्यकता है।
अपना स्वयं का सर्वर बनाने और तैनात करने के कई तरीके हैं।
एक विकल्प आधिकारिक फ़ाइलों के README में शामिल निर्देशों को डाउनलोड और उनका पालन करना है। डाउनलोड आधिकारिक वेबसाइट पर यहाँ पाया जा सकता है http://www.pwnadventure.com/#server।
@Beaujeant ने एक उत्कृष्ट और आसानी से अनुसरण किए जाने वाले चरण-दर-चरण गाइड बनाया। यह विकल्प 3 से Docker इमेज बनाने का आधार भी था। गाइड यहाँ पाया जा सकता है: https://github.com/beaujeant/PwnAdventure3/blob/master/INSTALL-server.md।
यह विकल्प बहुत आसान है, जब तक किसी होस्ट पर docker और docker-compose स्थापित हों। यह वास्तविक होस्ट सिस्टम में बदलाव किए बिना सर्वर चलाना और बंद करना आसान बनाता है।
सबसे पहले, सभी आवश्यक फ़ाइलें इकट्ठा करें:
git clone https://github.com/LiveOverflow/PwnAdventure3.git
cd PwnAdventure3
wget http://pwnadventure.com/pwn3.tar.gz
tar -xvf pwn3.tar.gz
सर्वर चलाने के लिए, docker और docker-compose स्थापित होना चाहिए। Docker तेज़ी से बदल रहा है, इसलिए स्थापना के लिए वर्तमान आधिकारिक चरणों का पालन करना अच्छा विचार है (जिसमें docker के पुराने सिस्टम संस्करण को हटाना भी शामिल हो सकता है):
docker-compose: https://docs.docker.com/compose/install/docker समूह का हिस्सा है: sudo usermod -a -G docker $USER। पुनरारंभ करें या पुनः लॉगिन करें और id से सत्यापित करें कि उपयोगकर्ता docker समूह का हिस्सा है।फिर बस इमेज बनाएँ और मास्टर और गेम सर्वर लॉन्च करें:
docker-compose build
docker-compose up
docker-compose up को -d के साथ डिटैच/बैकग्राउंड मोड में भी चलाया जा सकता है।
पहले आधिकारिक वेबसाइट से क्लाइंट डाउनलोड करें: http://www.pwnadventure.com/#downloads
क्लाइंट को नए सर्वर से कनेक्ट करने के लिए, क्लाइंट के server.ini को संशोधित करना होगा। Docker के साथ लॉन्च किया गया सर्वर अपेक्षा करता है कि होस्टनाम master.pwn3 और game.pwn3 का उपयोग किया जाए (इन्हें सैद्धांतिक रूप से docker/सेटअप फ़ाइलों में बदला जा सकता है)।
क्लाइंट के लिए server.ini कुछ इस तरह दिखना चाहिए:
[MasterServer]
Hostname=master.pwn3
Port=3333
[GameServer]
Hostname=game.pwn3
Port=3000
Username=
Password=
Instances=
सुनिश्चित करें कि क्लाइंट इन होस्टों तक पहुँच सकता है, उदाहरण के लिए उन्हें /etc/hosts फ़ाइल में जोड़कर। इस उदाहरण में सर्वर 192.168.178.57 पर चल रहा है और उनके लिए एंट्री होगी:
192.168.178.57 master.pwn3
192.168.178.57 game.pwn3
चेतावनी: server.ini में Hostname के रूप में IP का उपयोग करने से काम नहीं करता! मैंने यह पता लगाने में 2 घंटे बिताए कि क्या गलत था।
सर्वर को रोकने के लिए, बस docker-compose down टाइप करें।
चेतावनी: डेटाबेस फ़ाइल स्थायी नहीं है - कंटेनर को बंद करने से सब कुछ रीसेट हो जाता है। इसलिए पहले बैकअप लें।
$ docker-compose build
Building init
ERROR: Error processing tar file(exit status 1): write /client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Content/Paks/Characters.pak: no space left on device
उत्तर: अधिक डिस्क स्थान प्राप्त करें।
$ docker-compose build
Building init
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
उत्तर: आपका उपयोगकर्ता संभवतः docker समूह का हिस्सा नहीं है या docker सेवा नहीं चल रही है। sudo usermod -a -G docker pwn3, id से सत्यापित करें। या service docker restart।
जाँचें कि आर्काइव दूषित है या नहीं
$ md5sum pwn3.tar.gz
d3f296461fa57996018ce0e4e5a653ee pwn3.tar.gz
$ sha1sum pwn3.tar.gz
022bd5174286fd78cd113bc6da6d37ae9af1ae8e pwn3.tar.gz
कनेक्शन त्रुटि: मास्टर सर्वर से कनेक्ट करने में असमर्थ
इसका शायद मतलब है कि MasterServer पहुँच योग्य नहीं है।
server.ini में [MasterServer] एंट्री जाँचेंmaster.pwn3 को पिंग कर सकते हैं?/etc/hosts फ़ाइल में IP सही है?3333 पर सुन रहा है?sudo netstat -tulpn से जाँचें
tcp6 0 0 :::3333 :::* LISTEN 31913/docker-proxydocker ps से जाँचें कि दोनों कंटेनर चालू हैं
880f93374070 pwn3server "/opt/pwn3/setup/mas…" 0.0.0.0:3333->3333/tcp, 5432/tcp pwnadventure3_master_1कनेक्शन कतार में प्रतीक्षा कर रहा है...
इसका मतलब है MasterServer पहुँच योग्य है और अब एक मुफ्त GameServer की प्रतीक्षा कर रहा है जो क्लाइंट को दिया जा सके। इसका शायद मतलब है कि कोई GameServer नहीं चल रहा है, या MasterServer से कनेक्ट करने में सक्षम नहीं था।
3000-3005 पर सुन रहा है?sudo netstat -tulpn से सुनने वाली प्रक्रियाओं की जाँच करें
tcp6 0 0 :::3000 :::* LISTEN 32160/docker-proxypwnadventure3_game_1 कंटेनर चल रहा है? docker ps -a से जाँचें
84343f81034f pwn3server "/opt/pwn3/setup/gam…" 0.0.0.0:3000-3010->3000-3010/tcp, 5432/tcp pwnadventure3_game_1docker-compose up के लॉग में निम्नलिखित पंक्ति देखते हैं: line 1: 7 Killed ./PwnAdventure3Server; pwnadventure3_game_1 exited with code 137
परीक्षण के दौरान होस्ट के रूप में इन संस्करणों का उपयोग किया गया:
$ uname -a
Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ docker-compose version
docker-compose version 1.19.0, build 9e633ef
docker-py version: 2.7.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
$ docker --version
Docker version 17.12.1-ce, build 7390fc6
असली नायक वे लोग हैं जिन्होंने गेम बनाया <3
Pwn Adventure 3 एक Rusty Wagner का दिमागी उपज है। वह विचार, योजना, और लगभग सभी निष्पादन (प्रोग्रामिंग, स्तर डिज़ाइन, क्वेस्ट, इत्यादि) के लिए जिम्मेदार है। उसके बिना, कोई गेम नहीं होता! विकास और परीक्षण के दौरान उनके समर्थन के लिए Ghost in the Shellcode के आयोजकों को विशेष धन्यवाद।
Vector35 द्वारा - https://vector35.com/ (लोकप्रिय डिस्सेम्बलर Binary Ninja के पीछे की कंपनी)