NERD´S STUFF

Playing  M.U.L.E.  with  C64-VICE  on  INTERNET
April 2020

Severals days I worked hard to find out, how this may work. Now I succeded!
And before I forget it, I put it down. For me and for you. These things are easily forgotten again.
Maybe you can just use the short manual (in German) of https://www.c64-wiki.de/wiki/VICE#Netplay
and get happy, when your system is (by chance) ready to go.

It did not work for me that easily. It seems, I ran into every single problem existing, before I got this going.
Since I and
my longtime friend player M. cannot play our regular live games of M.U.L.E. every Monday evening (mit Bier und Schinkenbrot) on an original Brotkorb C64 from 1984 at the moment (Corona ... you know that if you collect all Corona viruses per 4th April 2020, guessing from 1 Mio. infected people worldwide, all viruses would fit in a cubed box with single side lengths of 25 cm) I set up M.U.L.E. for home playing for us. Here we go:

I tried several VICE editions. VICE 3.1 is the emulator edition that works best. You can download it here:

https://csdb.dk/release/?id=155140

Playing a two player game, one computer is the server and the second computer on the other end of the internet is the client. All challenges are on the server side. The client
´s side is easy to setup.
In my case server (Player 1) and client (Player 2) are running on Windows 10. It is possible to play a 3- or 4 player game, too, as long as they are plugged in any combination into the server computer of player 1 and/or into the client computer of player 2.

Do not panic, when looking at the long ToDo-List. Already the second M.U.L.E. game can start at step D, low down on this page.

Cheap router devices are not built for Port Forwarding. For playing M.U.L.E. on the internet you would have to buy another one. Look in the router manual or google your router whether it says somewhere something like
"Port Opening", "Port Forwarding" or "Virtual Servers". But only the router of  the server computer of player 1 needs Port Forwarding. The client computer of player 2 will work with any router or hotspot.



A. The Router and Computer on Server Side (Player 1)

A1. Type "cmd" and Enter in the search window at the bottom taskbar. A window with command lines opens.

Type "ipconfig" and enter. You get the IP of your local PC/Laptop, usually it is the IPv4 Address you can see now.
I name the server computer IPv4 Address
IPpc for further referencing.

A2. Login to your LAN or WLAN-routers page. You have to look into the manual to find out the name of the address (put the name in your browser) and the password to access.
(e.g.: I own a TP-Link M7350 and for this device the address to access the routers setup is http://tplinkmifi.net)
After login you might be on the status page of the router and you can see there another IPv4 Address. If you do not see it, you have to find that address somewhere in the routers setup pages. Good luck!
I name the routers IPv4 Address IPro for further referencing.

A3. Open in your browser https://whatismyipaddress.com/de/meine-ip
. Now you get your IP Address that a client can address publicly from his side of the network.
I name the public IP-Address IPpu.

A4. Compare IPro to IPpu. Chances are that IPro = IPpu. If so, you are a lucky guy. People from the outside (client computer of player 2 in our case) can address your router directly and you can skip the next steps and jump to A8.

A5.
IPro IPpu. This means, that your router cannot be addressed dircectly from the outside, but only by subaddressing from your internet provider. The client computer of player 2 can only see the address of the internet provider IPpu, but not the address of your router IPro. Playing M.U.L.E. on the internet will not work in this case. You have to do something...

A6. Go back to your router pages (as in A2.). On one of the setup pages you must find the dial-up settings. In these settings you must find the address for the access point name APN. This APN has been configured on your router by your internet provider. Usually the internet provider gives you an easy connection. If you are satisfied with it, the internet provider is happy, you are happy. But not if you want to play with other computers in the internet. For that you need a proper APN. And the internet providers have (usually) second sets of APN
´s for gaming and business. And usually you do not even have to change your contract, but only change the APN.
Usually the router page for the dial-up settings allows you to add another set of settings. Choose the button
´create´ or ´new´ and put in the same content as in your original dial up-settings under a new profile name. Just use another APN. The right APN you have to find on internet. Try the search words "APN", your actual APN address, the name of your provider and/or "Gaming". But write down your original dial-up settings before adding your new APN! You never know.
(e.g.: in my case the original APN was "internet.t-mobile.at" and the APN for gaming given by the provider "business.gprsinternet". Without changing the APN to
"business.gprsinternet" the client computer of player 2 would have had no chance at all to find my player 1 - computer as server.)

A7. You found the APN and changed the dial-up settings. A side effect may be that your internet is much quicker now, because your router is addressed directly from the outside now. Note: by now, you are secured by your firewall only. With the former dial-up settings the firewall of the provider was also around your network. Be calm, the Windows firewall is quicker in responding to bad action from the outside anyway.
Now, go back to step A2. to step A3. and check, if
IPro = IPpu now. When not, go back to step A6. and try again. If it is not possible at all to get IPro = IPpu you have to talk to your provider.

A8.
IPro = IPpu. The client player 2 can already address your router directly at the address IPpu. Now the client (player 2) has to be allowed to go from your router into the VICE emulater on the server computer of player 1. VICE proposes port 6502 for communication. It could be any port number. We take the number 6502, why not?
You must open port 6502 on your router pages. Look on your router pages (login as in A2.) for the setup of the network address translation NAT. There are different names for Port Opening. Maybe "NAT Port Opening", "Port Forwarding", can even be something like "Virtual Servers". You are on the right spot of your router pages, when you find a page, where you can fill out something like

Name of service    Internal Port     Protocol       Internal IP      (eventually external Port)

If you find this page put in
      x64sx                   6502               TCP             IPpc                    (6502)

Save it. Now port 6502 is open from the router side.

A9.
Start the Vice with x64sc.exe and go to ´File´ and ´Netplay...´. Klick ´Netplay...´ and ´Start server´. A window "Security Allert" pops up. Click ´Allow access´ and ignore the Vice Error (klick ´OK´). Now port 6502 is open from the computer side, too.

A10. Let´s do some testing. Call a friend of you. Ask him/her to open in his/her browser https://www.yougetsignal.com/tools/open-ports/. Tell him/her your IPpu you get from A3. and the port number 6502. By clicking ´Checking´ on that page he/she should get ´Port 6502 is open on IPpu´.

A11. Router and Computer are Ready. Congratulations!



B. The Software

B1. You can find several images of M.U.L.E. on d64- and t64-files in the internet. Those will not work, because M.U.L.E. in its original form was splitted in three parts that loaded one after the other into the C64. But every time VICE connects with a drive the synchronisation between server and client would be interrupted and the game corrupted.
Therefore you need to run M.U.L.E. from a single internal file. Gladly, this file exists. I found it at https://www.c64games.de/phpseiten/spieledetail.php?filnummer=479 and renamed it for easier use. You can download the file from here http://www.qeter.at/mule. This version allows 3 or 4 players for playing with 3 or 4 joysticks (and not the keyboard).

B2. Create a directory
´PRG´ and put the downloaded file ´mule´ into it. Do not change the name of the file.



C. The Joysticks

C1. I and M. love our original Competition Pro Mini Joysticks. To be able to use them I ordered from Retro Fun! on ebay two
´TheC64 Mini Max´. This is an adaptor from 9-pin to USB. The ´TheC64 Mini Max´ came after two days to my home. I had to send one Mini Max to M.



D. Ready, Steady, Go!

D1. Both Players turn on their Computers and, before starting VICE, plug in their Joysticks via
´TheC64 Mini Max´ in their sperated USB ports. Turn the internet on. The router of player 1 must be working acc. to A.

D2. Player 1 starts VICE 3.1 on his server computer and seperately player 2 starts VICE 3.1 on his client computer.

D3. Player 1 on VICE goes to
´Settings´ and ´Peripheral settings...´ and ´Drive 8´. Click ´Use IEC Drive´ and ´Directory´. Browse to the directory ´PRG´ that you created at step B2. and okay it.

D4. Player 1 writes in the C64-screen:
LOAD "MULE",8,1 and Enter then RUN and Enter. M.U.L.E. starts now, but do not let yourself get distracted and go on with D5.

D5. Player 1 on VICE goes to
´Settings´ and ´Video settings...´. Choose ´VICII Renderer´ and unklick ´Double scan´ and ´OK´. This will help the synchronization performance between server and client.

D6. Player 1
on VICE goes to ´File´ and ´Netplay...´. Player 1 ticks the boxes under Server for ´Keyboard´, ´Joystick 1´, ´Devices´ and ´Settings´ and under Client for ´Keyboard´, ´Joystick 2´. Then ´Start Server´ (clicking ´Keyboard´ under client is necessary, if a 3rd or 4th player is playing on the computer of player 2, too). A window "Security Allert" might pop up. Click ´Allow access´ and ignore the Vice Error (klick ´OK´).

D7. Player 1 on VICE goes to
´Settings´ and ´Joystick settings´ and ´Joystick settings...´. Select for Joystick#1 ´e4you Retro Fun´ and ´OK´.

D8.
Player 2 on VICE goes to ´Settings´ and ´Video settings...´. Choose ´VICII Renderer´ and unklick ´Double scan´ and ´OK´.

D9. Player 2 on VICE goes to ´Settings´ and ´Joystick settings´ and ´Joystick settings...´. Select for Joystick#2 ´e4you Retro Fun´ and ´OK´.

D10. Player 1 opens
in his browser https://whatismyipaddress.com/de/meine-ip and tells player 2 the IP.

D11.
Player 2 on VICE goes to ´File´ and ´Netplay...´ and puts in the IP of player 1 in the field right to ´Connect to´ and then confirms ´Connect to´ and ignores the Vice Error (klick ´OK´), too.

D12. Everything is set for 2 players. Have fun!


D13. But you want to add more players on the server or client computer? Just plug in more joysticks in either computer. Before step D11 both players, player 1 and player 2 must go to
´Settings´ and ´Control port settings...´. All 4 selections shall be ´Joystick´. Then both go to ´Settings´ and ´Joystick settings´ and ´Userport joystick settings...´ and select ´CGA userport joy adaptor´ on top. Now it depends in which home the additional players sit. If all players use joysticks via the ´TheC64 Mini Max´ the player 1 on the server computer and the player 2 on the client computer must select appropriate ´none´ or ´e4you Retro Fun´ for ´Joystick in extra port #1´ and ´Joystick in extra port #2´. Clearly, for example, a ´e4you Retro Fun´-setting at ´Joystick in extra port #1´ at the client computer needs a ´None´-setting at ´Joystick in extra port #1´ at the server computer and vice versa.

D14. Everything is set for 3 or 4 players. Have more fun!


Note 1:
As long as we stayed in the software of the M.U.L.E.-game our internet-gaming worked without any problems. Only when fooling around with the VICE-settings (e.g. settings for another joystick) during the game the connection stopped sometimes. In that case the client player 2 must reconnect again by going to
´File´ and ´Netplay...´.

Note 2:
If you want to Skype during the game (what we always do, when playing), turn on the microphone and off the video to ensure a quick internet connection for the game. If Skype mutes the M.U.L.E. sound go to the Sound Control Panel of Windows, look for the tab
´Communications´ and click ´Do nothing´.



Feedback and questions:  qeter@gmx.at




Besucherzaehler