Skip to content

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

wfc-server-docker

Starter pack to build and run WiiLink WFC-Server in Docker.

Note

This project is not affiliated with WiiLink.

Getting Started

This project requires the following prerequisites:

Then you proceed as follows:

  • Clone this repository
  • Copy Wii Client CA files clientca.pem and clientcakey.pem into the cloned directory.
  • Run the setup script with your domain name as an environment variable: WWFC_DOMAIN=example.local ./setup.sh
  • You can then start the server with docker compose up and stop it with docker compose down.

Use the gecko codes created in wwfc-data/patches in your games to connect by custom domain name.

Getting Wii Client CA files

In order for DS games to connect without patching games, we need to create a custom Certificate using the Wii Client certificate.

These are not console-unique and can be pulled from any Wii.

You may also use Dolphin to get the certificate files:

  • Tools > Perform Online System Update
  • Tools > Manage NAND > Extract Certificates From NAND
  • File > Open User Folder
    • Wii/clientca.pem
    • Wii/clientcakey.pem

More information

About the setup script

The setup script performs the following tasks:

  • build necessary payload files and associated game patches, allowing Wii games to connect by using your domain name when the patch is applied*
  • create an ssl certificate that will exploit the wii-ssl-bug, allowing games using Wii IOS36 or below to connect by only using a custom dns server**
  • create an ssl certificate that will exploit the nds-constrain't bug, allowing NDS games to connect by only using a custom dns server**
  • create a default tls certificate allowing https connection for modern browsers
  • initialize the postgres database schema used by wfc-server

* your domain should have a dns entry *.example.local pointing to your wfc-server's ip address

** your custom dns server should rewrite the domain *.nintendowifi.net to point to your wfc-server's ip address

About Docker images

This project uses three docker images:

Check the docker/ directory, setup.sh script and docker-compose.yml to see how the images are being used.

Troubleshooting

I get error code XXXXX when trying to connect

Consult the WiiLink error codes for error code explanation.

Using WSL

If you are using this project in WSL, it is simplest to enable WSL2 Mirrored Networking mode. If you want to connect using a real device, allow incoming connections through the Windows firewall (see Microsoft Documentation). This has security implications! You may want to host this on a server instead.

Ports are set in the docker-compose.yml and wfc-server-config.xml if you need a reference.

About

Starter pack to build and run WiiLink WFC-Server in Docker.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages