# Tutorial for Houdini-Asyncio and Dash

**URL:** <https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320>\
**Category:** Tutorials\
**Created:** [May 13, 2020, 10:12pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320 "2020-05-13T22:12:36Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Desbarmitar](https://solero.me/user_avatar/solero.me/desbarmitar/32/457_2.png) [@Desbarmitar](https://solero.me/u/Desbarmitar)\
**Post date:** [May 13, 2020, 10:12pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/1 "2020-05-13T22:12:36Z")

</div>

**How to configure the server locally on Nginx/Windows**  
02.08.2020  
by desbarmitar (PT) #5488

> **Important before you start**
>
> - For the tutorial I will use the C:\CPPS folder as the root.
> - If any of these programs are already installed there may be conflicts. I recommend uninstalling it. I am not responsible for conflict errors that appear.

**I Part - Downloads**

> **Download Media Files**
>
> [Legacy - AS2](https://git.solero.me/solero/legacy-media/-/tree/b3a86b70689a38fdf8773c250aa576551acb65b8)  
> [Vanilla - AS3](https://git.solero.me/solero/vanilla-media/-/tree/3ce806db097cf7b945da9b6768e17823c170f8a2)
> 
> * * *

> **Download Houdini**
>
> [https://github.com/solero/houdini](https://github.com/solero/houdini/tree/b4769d23836ba6347f603c31a105306be6a1151a)
> 
> * * *

> **Download Dash**
>
> [https://github.com/solero/dash](https://github.com/solero/dash/tree/dd015f48970964275862d3e0c8873eb78ec6e084)
> 
> * * *

> **Download and Install WinNMP**
>
> [https://sourceforge.net/projects/wtnmp/files/](https://sourceforge.net/projects/wtnmp/files/WinNMP-20/WinNMP-20.05.exe/download)  
> (20.05 )
> 
> **Install WinNMP**
> 
> - Accept the agreement → Next
> - Folder `C:\CPPS\WinNMP` → Next
> - Components required: Redis, Last version PHP, Composer.phar and AcmePhp.phar → Next
> - Check the box `Add \bin directory to your environmental Path` → Next → Install
> - Uncheck the box `Launch WinNMP` → Finish
> 
> * * *

> **Download and Install Python**
>
> [https://www.python.org/downloads/](https://www.python.org/ftp/python/3.8.4/python-3.8.4-amd64.exe)  
> (3.8.4)
> 
> **Install Python**
> 
> - Customize installation → Next -\>Next
> - Check the box `Install for all users`
> - Check the box `Add Python to environment variables`
> - Folder `C:\CPPS\Python38` → Install → Close
> 
> * * *

> **Download and Install PostgreSQL**
>
> [https://www.enterprisedb.com/downloads/postgres-postgresql-downloads](http://www.enterprisedb.com/postgresql-tutorial-resources-training?cid=48)  
> (12.3)
> 
> **Install PostgreSQL**
> 
> - → Next → Folder `C:\CPPS\PostgreSQL\12` → Next
> - Check all components boxes → Next
> - Folder `C:\CPPS\PostgreSQL\12\data` → Next
> - Password: `password` → Next … Installing
> - Uncheck the box `Stack Builder` → Finish
> 
> * * *

> **Download and Install Build Tools for Visual Studio 2019**
>
> [https://visualstudio.microsoft.com/visual-cpp-build-tools/](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools)
> 
> **Install Build Tools**
> 
> - → Continue
> - Select `Workloads` Tab
> - Check the box `C++ buid tools` → Install
> - Close
> 
> * * *

**II Part - Configurations**

> **Legacy Play Files**
>
> - Extract from `legacy-media-(...).zip` the folder `play` to `C:\CPPS`
> - Rename the folder to old and move to the folder `C:\CPPS\WinNMP\WWW`
> - Open `WinNMP` program
> - In the tab `Projects` select `Refresh Projects`
> - In the tab `Projects` select `Project Setup - Old` (tools icon). Will open the project setup window
> - Check the box `Enable Local Virtual Server` and click on `Edit Nginx Virtual Server`
> 
> > _Find_  
> > listen 127.0.0.1:80;
> > 
> > > _Add below_  
> > > listen \*:80;
> 
> > _Find_  
> > server\_name old.test;
> > 
> > > _Change to_  
> > > server\_name old.localhost;
> 
> > _Find_  
> > allow 127.0.0.1;  
> > deny all;
> > 
> > > _Change_  
> > > allow all;  
> > > ##deny all;
> 
> > _Find and delete_  
> > location ~ .php$ {  
> > try\_files $uri =404;  
> > include nginx.fastcgi.conf;  
> > include nginx.redis.conf;  
> > fastcgi\_pass php\_farm;  
> > fastcgi\_hide\_header X-Powered-By;  
> > }
> 
> > _Find_  
> > location / {  
> > try\_files $uri $uri/ =404;  
> > }
> > 
> > > _Add below_  
> > > location /create\_account/create\_account.php {  
> > > proxy\_pass [http://localhost:3000/create/legacy](http://localhost:3000/create/legacy);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location /create/activate {  
> > > proxy\_pass [http://localhost:3000/create/activate](http://localhost:3000/create/activate);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> 
> - Save and close

> **Legacy Media Files**
>
> - Extract from `legacy-media-(...).zip` the folder `media` to `C:\CPPS`
> - Rename the folder to `media1` and move to the folder `C:\CPPS\WinNMP\WWW`
> - Open `WinNMP` program
> - In the tab `Projects` select `Refresh Projects`
> - In the tab `Projects` select `Project Setup - Media1` (tools icon). Will open the project setup window
> - Check the box `Enable Local Virtual Server` and click on `Edit Nginx Virtual Server`
> 
> > _Find_  
> > listen 127.0.0.1:80;
> > 
> > > _Add below_  
> > > listen \*:80;
> 
> > _Find_  
> > server\_name media1.test;
> > 
> > > _Change to_  
> > > server\_name media1.localhost;
> 
> > _Find_  
> > allow 127.0.0.1;  
> > deny all;
> > 
> > > _Change_  
> > > allow all;  
> > > ##deny all;
> 
> - Save and close

> **Vanilla Play Files**
>
> - Extract from `vanilla-media-(...).zip` the folder `play` to `C:\CPPS\WinNMP\WWW`
> - Open `WinNMP` program
> - In the tab `Projects` select `Refresh Projects`
> - In the tab `Projects` select `Project Setup - Play` (tools icon). Will open the project setup window
> - Check the box `Enable Local Virtual Server` and click on `Edit Nginx Virtual Server`
> 
> > _Find_  
> > listen 127.0.0.1:80;
> > 
> > > _Add below_  
> > > listen \*:80;
> 
> > _Find_  
> > server\_name play.test;
> > 
> > > _Change to_  
> > > server\_name play.localhost;
> 
> > _Find_  
> > allow 127.0.0.1;  
> > deny all;
> > 
> > > _Change_  
> > > allow all;  
> > > ##deny all;
> 
> > _Find_  
> > location / {  
> > try\_files $uri $uri/ =404;  
> > }
> > 
> > > _Add below_  
> > > location ~ ^/(.\*)/penguin/create {  
> > > proxy\_pass [http://localhost:3000/create/vanilla/$1](http://localhost:3000/create/vanilla/$1);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location /penguin/create {  
> > > proxy\_pass [http://localhost:3000/create/vanilla/en](http://localhost:3000/create/vanilla/en);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location ~ ^/(._)/penguin/activate/(._) {  
> > > proxy\_pass [http://localhost:3000/activate/vanilla/$1/$2](http://localhost:3000/activate/vanilla/$1/$2);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location ~ ^/(.\*)/penguin/activate {  
> > > proxy\_pass [http://localhost:3000/activate/vanilla/$1](http://localhost:3000/activate/vanilla/$1);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location /penguin/activate {  
> > > proxy\_pass [http://localhost:3000/activate/vanilla/en](http://localhost:3000/activate/vanilla/en);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location ~ ^/(._)/penguin/forgot-password/(._) {  
> > > proxy\_pass [http://localhost:3000/password/$1/$2](http://localhost:3000/password/$1/$2);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location ~ ^/(.\*)/penguin/forgot-password {  
> > > proxy\_pass [http://localhost:3000/password/$1](http://localhost:3000/password/$1);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location /penguin/forgot-password {  
> > > proxy\_pass [http://localhost:3000/password/en](http://localhost:3000/password/en);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location ^/(.\*)/web-service/snfgenerator/session$ {  
> > > proxy\_pass [http://localhost:3000/session](http://localhost:3000/session);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location /api/v0.2/xxx/game/get/world-name-service/start\_world\_request {  
> > > proxy\_pass [http://localhost:3000/swrequest](http://localhost:3000/swrequest);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> > > 
> > > location ~ ^/avatar/(.\*)/cp$ {  
> > > proxy\_pass [http://localhost:3000/avatar/$1$is\_args$args](http://localhost:3000/avatar/$1$is_args$args);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> 
> - Save and close

> **Vanilla Media Files**
>
> - Extract from `vanilla-media-(...).zip` the folder `media` to `C:\CPPS\WinNMP\WWW`
> - Open `WinNMP` program
> - In the tab `Projects` select `Refresh Projects`
> - In the tab `Projects` select `Project Setup - Media` (tools icon). Will open the project setup window
> - Check the box `Enable Local Virtual Server` and click on `Edit Nginx Virtual Server`
> 
> > _Find_  
> > listen 127.0.0.1:80;
> > 
> > > _Add below_  
> > > listen \*:80;
> 
> > _Find_  
> > server\_name media.test;
> > 
> > > _Change to_  
> > > server\_name media.localhost;
> 
> > _Find_  
> > allow 127.0.0.1;  
> > deny all;
> > 
> > > _Change_  
> > > allow all;  
> > > ##deny all;
> 
> > _Find_  
> > location / {  
> > try\_files $uri $uri/ =404;  
> > }
> > 
> > > _Add below_  
> > > location /social/autocomplete/v2/search/suggestions {  
> > > proxy\_pass [http://localhost:3000/autocomplete](http://localhost:3000/autocomplete);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> 
> - Save and close

> **Manager**
>
> - Open `WinNMP` program
> - In the tab `Projects` select `New Project`, set the name to `secured` and Save
> - In the tab `Projects` select `Project Setup - Secured` (tools icon). Will open the project setup window
> - Check the box `Enable Local Virtual Server` and click on `Edit Nginx Virtual Server`
> 
> > _Find_  
> > listen 127.0.0.1:80;
> > 
> > > _Add below_  
> > > listen \*:80;
> 
> > _Find_  
> > server\_name secured.test;
> > 
> > > _Change to_  
> > > server\_name secured.localhost;
> 
> > _Find_  
> > allow 127.0.0.1;  
> > deny all;
> > 
> > > _Change_  
> > > allow all;  
> > > ##deny all;
> 
> > _Find_  
> > location / {  
> > try\_files $uri $uri/ =404;  
> > }
> > 
> > > _Add below_  
> > > location /manager {  
> > > proxy\_pass [http://localhost:3000/manager](http://localhost:3000/manager);  
> > > proxy\_redirect off;  
> > > proxy\_set\_header Host $host;  
> > > proxy\_set\_header X-Real-IP $remote\_addr;  
> > > proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;  
> > > }
> 
> - Save and close

> **WinNMP**
>
> - Open ‘HostsEditor’
> 
> > _If is alredy added_  
> > 127.0.0.1 old.test  
> > 127.0.0.1 media1.test  
> > 127.0.0.1 play.test  
> > 127.0.0.1 media.test  
> > 127.0.0.1 secured.test
> > 
> > > _Change the host names_  
> > > 127.0.0.1 old.localhost  
> > > 127.0.0.1 media1.localhost  
> > > 127.0.0.1 play.localhost  
> > > 127.0.0.1 media.localhost  
> > > 127.0.0.1 secured.localhost
> 
> - Save and close
> 
> > Next steps if you use legacy version.
> 
> - Dash create endpoints support Google reCAPTCHA. You require reCAPTCHA v3 keys from[here](https://www.google.com/recaptcha/admin/create).
> - Select type: `reCAPTCHA v3` and Insert domain: `old.localhost`
> - Create the reCAPTCHA and save the two keys in your desktop.
> - Edit `C:\CPPS\WinNMP\WWW\old\index.html`, `C:\CPPS\WinNMP\WWW\old\en\index.html`, `C:\CPPS\WinNMP\WWW\old\es\index.html`, `C:\CPPS\WinNMP\WWW\old\fr\index.html` and `C:\CPPS\WinNMP\WWW\old\pt\index.html` files:
> 
> > _Find_  
> > data=“[http://media.localhost/boots.swf](http://media.localhost/boots.swf)”
> > 
> > > _Change to_  
> > > data=“[http://media1.localhost/boots.swf](http://media1.localhost/boots.swf)”
> 
> > _Find_
> > 
> > \> \*Add above\* \> \> \> \> \*Change the two SITE-KEY with the site key provided on the Google reCAPTCHA website.\*
> 
> > Next steps if you use vanilla version.
> 
> - Edit `C:\CPPS\WinNMP\WWW\play\index.html`, `C:\CPPS\WinNMP\WWW\play\es\index.html`, `C:\CPPS\WinNMP\WWW\play\fr\index.html` and `C:\CPPS\WinNMP\WWW\play\pt\index.html` files:
> 
> > _Find_  
> > var media = “[http://media1.clubpenguin.com/”](http://media1.clubpenguin.com/%E2%80%9D);
> > 
> > > _Change to_  
> > > var media = “[http://media.localhost/”](http://media.localhost/%E2%80%9D);
> 
> - Edit `C:\CPPS\WinNMP\WWW\play\web_service\environment_data.xml` and `C:\CPPS\WinNMP\WWW\media\play\web_service\environment_data.xml` files:
> 
> > name=“play” value=“[http://media.localhost/play/](http://media.localhost/play/)”  
> > name=“client” value=“[http://media.localhost/play/v2/client/](http://media.localhost/play/v2/client/)”  
> > name=“content” value=“[http://media.localhost/play/v2/content/](http://media.localhost/play/v2/content/)”  
> > name=“games” value=“[http://media.localhost/play/v2/games/](http://media.localhost/play/v2/games/)”  
> > name=“drupal” value=“[http://play.localhost/](http://play.localhost/)”  
> > name=“secured” value=“[https://secured.localhost/](https://secured.localhost/)”  
> > name=“config” value=“[http://media.localhost/play/](http://media.localhost/play/)”
> 
> * * *

> **Houdini**
>
> - Extract the folder from ‘houdini-(…).zip’ to `C:\CPPS` and rename to ‘houdini’
> - Open the thr file `C:\CPPS\houdini\requirements.txt`
> 
> > _Add to the top_  
> > wheel
> 
> - Run the command in this folder (CMD.exe):
> 
> > pip install -r requirements.txt
> 
> - In the file `C:\CPPS\houdini\bootstrap.py` find the `database_group.add_argument` and change the default values if needed
> 
> > database\_address: localhost  
> > database\_username: postgres  
> > database\_password: password  
> > database\_name: postgres
> 
> * * *

> **Dash**
>
> - Extract the folder from `dash-(...).zip` to `C:\CPPS` and rename to `dash`
> - Open the folder
> - Run the command in this directory (CMD.exe):
> 
> > pip install -r requirements.txt
> 
> - Rename the file `C:\CPPS\dash\sample.config.py` to `config.py`
> - In the file `C:\CPPS\dash\config.py` find and change the default values if needed:
> 
> > postgres\_host = ‘localhost’  
> > postgres\_name = ‘postgres’  
> > postgres\_user = ‘postgres’  
> > postgres\_password = ‘password’  
> > approve\_username = true  
> > legacy\_activate\_redirect = ‘[http://old.localhost](http://old.localhost)’  
> > vanilla\_activate\_redirect = ‘[http://play.localhost](http://play.localhost)’  
> > legacy\_play\_link = ‘[http://old.localhost](http://old.localhost)’  
> > vanilla\_play\_link = ‘[http://play.localhost](http://play.localhost)’
> > 
> > > If you use the legacy version:  
> > > GSITE\_KEY = `reCAPTCHA site key for old.localhost`  
> > > GSECRET\_KEY = `reCAPTCHA secret key for old.localhost`
> 
> * * *

> **PostgeSQL**
>
> - Search on Google how to edit the System Variables on your Windows version
> - Search in the Variables Path if is any PostgreSQL related path. If not, add to the end
> 
> > ;C:\CPPS\PostgreSQL\12\lib;C:\CPPS\PostgreSQL\12\bin\
> > 
> > ( !!! \PostgreSQL\ is the folder where i install PostgreSQL and can contain a subfolder with the version number \12\)
> 
> - Save and close
> - Open the folder `C:\CPPS\houdini`
> - Run the command in this directory (CMD.exe):
> 
> > psql -h localhost -d postgres -U postgres -f houdini.sql
> > 
> > (password: password)
> 
> * * *

**III Part - Run the Servers**

> **WinNMP**
>
> - Open `WinNMP`, the servers Nginx and Redis should automatically start
> 
> * * *

> **Houdini**
>
> - Open the folder `C:\CPPS\houdini`
> - Run the commands in this folder (CMD.exe):
> 
> > You can choose which languages you want to use.  
> > Login server required and at least one World server.
> > 
> > > python bootstrap.py login  
> > > English world Server: python bootstrap.py world -p 9875  
> > > Spanish world Server: python bootstrap.py world -p 9876  
> > > French world Server: python bootstrap.py world -p 9878  
> > > Portuguese world Server: python bootstrap.py world -p 9877
> 
> * * *

> **Dash**
>
> - Open the folder `C:\CPPS\dash`
> - Run the commands in this folder (CMD.exe):
> 
> > python bootstrap.py -c config.py
> 
> * * *

**If you used this tutorial and it is working, leave a like.**

---

<div class="post-metadata">

**Author:** ![ReverseRiku](https://solero.me/letter_avatar_proxy/v4/letter/r/7ea924/32.png) [@ReverseRiku](https://solero.me/u/ReverseRiku)\
**Post date:** [June 16, 2020, 2:54pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/3 "2020-06-16T14:54:18Z")

</div>

Hi, I followed all of the steps in the guide, double checked and everything seems to be the same, but when I go to create a penguin I’m hit with a 404. So I was looking around and noticed that my url was still play.test and wasn’t redirecting properly. Even changing .test to .localhost for both play and media on everything this guide said to, it still won’t change and I still can’t get past the 404. I’m used to using Xampp and using phpmyadmin, so I’m a little unsure what I’m doing here.

---

<div class="post-metadata">

**Author:** ![Desbarmitar](https://solero.me/user_avatar/solero.me/desbarmitar/32/457_2.png) [@Desbarmitar](https://solero.me/u/Desbarmitar)\
**Post date:** [July 7, 2020, 8:59pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/5 "2020-07-07T20:59:10Z")

</div>

I updated the tutorial, tested and working.

---

<div class="post-metadata">

**Author:** ![ReverseRiku](https://solero.me/letter_avatar_proxy/v4/letter/r/7ea924/32.png) [@ReverseRiku](https://solero.me/u/ReverseRiku)\
**Post date:** [August 6, 2020, 7:39pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/6 "2020-08-06T19:39:08Z")

</div>

So, I’ve got everything up and running as specified in the tutorial, only problem I’m having is that WinNMP still tries to pull up ‘play.test’ instead of ‘play.localhost’ and such. I’ve changed it everywhere that ‘play.test’ appears but no dice. Any ideas of how to fix this? When I select ‘project setup’, the link still says ‘[http://play.test](http://play.test)’ and the ‘help’ link to the right of it is not actually any help at all lol

---

<div class="post-metadata">

**Author:** ![Desbarmitar](https://solero.me/user_avatar/solero.me/desbarmitar/32/457_2.png) [@Desbarmitar](https://solero.me/u/Desbarmitar)\
**Post date:** [August 6, 2020, 7:55pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/7 "2020-08-06T19:55:01Z")

</div>

The button ‘project setup’ dont change. You need to use the link [http://play.localhost](http://play.localhost) in your browser.

---

<div class="post-metadata">

**Author:** ![ReverseRiku](https://solero.me/letter_avatar_proxy/v4/letter/r/7ea924/32.png) [@ReverseRiku](https://solero.me/u/ReverseRiku)\
**Post date:** [August 6, 2020, 7:58pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/8 "2020-08-06T19:58:00Z")

</div>

Okay, the webpage loads and I’m able to create a penguin just fine. But when I go to login and select the Blizzard server, it just sits here infinitely loading. I started both the Houdini login and world servers, and started Dash as well but I’m not able to do anything else.

---

<div class="post-metadata">

**Author:** ![Desbarmitar](https://solero.me/user_avatar/solero.me/desbarmitar/32/457_2.png) [@Desbarmitar](https://solero.me/u/Desbarmitar)\
**Post date:** [August 7, 2020, 8:48am UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/9 "2020-08-07T08:48:06Z")

</div>

The world command for Blizzard (English server) is `python bootstrap.py world -p 9875`

---

<div class="post-metadata">

**Author:** ![ReverseRiku](https://solero.me/letter_avatar_proxy/v4/letter/r/7ea924/32.png) [@ReverseRiku](https://solero.me/u/ReverseRiku)\
**Post date:** [August 7, 2020, 4:06pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/10 "2020-08-07T16:06:18Z")

</div>

That’s what I was using. Do I need to use seperate cmds for the login and blizzard server, or should they be run in the same cmd? I got wand running in a linux virtual box and there everything runs in the same terminal and works. I’d just rather get this up and running in Windows since I’m more comfortable with it.

---

<div class="post-metadata">

**Author:** ![Desbarmitar](https://solero.me/user_avatar/solero.me/desbarmitar/32/457_2.png) [@Desbarmitar](https://solero.me/u/Desbarmitar)\
**Post date:** [August 7, 2020, 4:49pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/11 "2020-08-07T16:49:34Z")

</div>

You need to run the commands in separated cmds. (the login in one and the world in other)

---

<div class="post-metadata">

**Author:** ![Lester](https://solero.me/user_avatar/solero.me/lester/32/617_2.png) [@Lester](https://solero.me/u/Lester)\
**Post date:** [October 11, 2021, 2:34pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/12 "2021-10-11T14:34:35Z")

</div>

im getting infinite freeze when i try to enable local virtual server, doesnt matter if its for media or play, winnmp doesnt let me enable it. help pls. its not the file size neither a problem because tested with empty folder and same

---

<div class="post-metadata">

**Author:** ![TheAtaryGame](https://solero.me/letter_avatar_proxy/v4/letter/t/c5a1d2/32.png) [@TheAtaryGame](https://solero.me/u/TheAtaryGame)\
**Post date:** [June 21, 2022, 5:10am UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/13 "2022-06-21T05:10:11Z")

</div>

Hey, how’s it going?

Can you help me? I’m confused about where to change reCAPCHA keys for “legacy” servers.

---

<div class="post-metadata">

**Author:** ![arnon001](https://solero.me/user_avatar/solero.me/arnon001/32/733_2.png) [@arnon001](https://solero.me/u/arnon001)\
**Post date:** [April 28, 2024, 6:40pm UTC](https://solero.me/t/tutorial-for-houdini-asyncio-and-dash/320/14 "2024-04-28T18:40:17Z")

</div>

> - Extract the folder from `dash-(...).zip` to `C:\CPPS` and rename to `dash`

- Open the folder
- Run the command in this directory (CMD.exe):

> pip install -r requirements.txt

- Rename the file `C:\CPPS\dash\sample.config.py` to `config.py`
- In the file `C:\CPPS\dash\config.py` find and change the default values if needed:

> postgres\_host = ‘localhost’  
> postgres\_name = ‘postgres’  
> postgres\_user = ‘postgres’  
> postgres\_password = ‘password’  
> approve\_username = true  
> legacy\_activate\_redirect = ‘[http://old.localhost](http://old.localhost/)’  
> vanilla\_activate\_redirect = ‘[http://play.localhost](http://play.localhost/)’  
> legacy\_play\_link = ‘[http://old.localhost](http://old.localhost/)’  
> vanilla\_play\_link = ‘[http://play.localhost](http://play.localhost/)’
> 
> > If you use the legacy version:  
> > GSITE\_KEY = `reCAPTCHA site key for old.localhost`  
> > GSECRET\_KEY = `reCAPTCHA secret key for old.localhost`

you can see it in “dash”
