Ad-hoc play is broken. You can't see other players and they can't see you. Race lobbies are unreachable by anybody playing. There appears to be zero communication occurring between connected systems.
Players should be able to:
Title: Test Drive Unlimited
Genre: Racing, Open World
Region: US
Format: ISO
Version: v?.?
OS: Android/Mac
Compatibility: Playable/In-game
Notes: Ad-Hoc unplayable
I love PPSSPP! Thanks for all of your work. I'll buy PPSSPP Gold if this can get resolved.
I'm also offering a bounty of $100 USD (PayPal, Venmo, etc.) to whoever can help me get a fix for this game, Test Drive Unlimited, so the multiplayer ad-hoc portion of the game actually works.
Important info:
So here's the problem: Test Drive Unlimited (TDU) is a game that's meant to be played in multiplayer, but ever since the servers went offline in 2009, it's been a very quiet world to play in. I want to try and revive the game by creating a dedicated ad-hoc server that TDU players can access through PPSSPP.
Everything in-game works and I'm delighted that the post-processing graphics issue finally got a fix, but now the only thing missing is the ad-hoc multiplayer compatibility.
The network initialization process apparently goes just fine in the main menu settings screen, for PPSSPP's built-in Pro server, but once you get in-game and have two people at the same spot on the driving map, you can't see the other player. Also, in the "Drive-In" rooms, accessible via the map, you should be able to create a room to play with other people. That also never works. Basically, ad-hoc is completely broken here and needs a fix.
I've included some screenshots on Imgur in hopes that you may be able to see what the issue is. If you have any specific questions about this bug, don't be afraid to PM me directly or comment below.
Just to re-iterate, I'm promising $100 to the first dev that fixes this to the point where I can set up a public server, where I can have friends join me from another city.
Cheers and thanks for your help!
Cheat code necessary for in-game play to work:
_S ULUS-10249
_G Test Drive Unlimited
_C0 (Requires restart)
_C0 Remove slow and ugly effect
_L 0xE0020406 0x002DC218
_L 0x202DC218 0x00003021
_L 0x202DC21C 0x00000000
I checked and at least when driving around the world it works fine.

That's using my custom build which allows adhoc between multiply instances on same pc, online might not work due to latency, firewalls, closed ports etc. which are not a problem playing through LAN or on same pc.
You should probably read some adhoc guides as if you expected playing online an adhoc game mode without problems, then that's exactly your issue.
I am using LAN, both a mobile hotspot and a home router, using a Windows, Mac and Android PPSSPP client. All three ways of communication don't work for this one game, but work for all the rest. I just worked on this for about 10 hours today, to no avail. Here's what I found, though.
This game runs on three ports: TCP 27312 for the adhoc server itself, and two UDP connections on 8122 and 8883. One other game that I knew works, Pilot Academy, communicates on ports TCP 27312 (for adhoc server) and UDP 3658. WipEout Pure also runs on 3658, and both of these games run multiplayer like a charm, just fine no problem.
So I thought, in theory, if I port-shift WipEout and Pilot Academy by 4464, I can get them to try and communicate on UDP 8122 (because the original port, 3658, plus 4464 = 8122.) I checked using nettop on linux to make sure it was communicating on this new port that we think may be problematic, and sure enough, multiplayer worked like a charm.
I also tried port shifting those two games to make them communicate on TDU's other port, UDP 8883. I thought that maybe because it's reserved for SSL it may be a problem with firewalls, etc. Nope. Both Pilot Academy and Wipeout communicated just fine over TCP 27312 and UDP 8883.
I confirmed that each port was correct using nettop, I tried multiple computers, different routers, made sure it worked for the two games first and then tried TDU... Nothing. Nothing at all.
What am I missing here??
I can't test official version since I have just one pc nowadays and not into wasting ssd space for virtual machine just to be able to test ppsspp adhoc, so I'm using my personal branch ~ https://github.com/LunaMoo/ppsspp/tree/TemporaryHackishBranch which does include adhoc between multiply instances on same device, it does have compatibility improvements, but game specific which are activated only for selected games and TDU is not one of them. It's always possible some other changes from my branch are affecting it this game's compatibility, but probably bigger difference is the fact you're using a mac and android getting more points of failure compared to windows, don't really use mac nor android so can't tell what could go wrong there.
Settings wise that could matter I only use simulate UMD delay for IO and disable fast memory which is generally recommended to run buggy stuff like adhoc or even homebrew as it will avoid some crashes that would otherwise happen on real hardware. Network settings are basic, just need different mac, server running on one of the clients and both clients using the same server address pointing to that device. Don't use Coldbird's or any other online server for testing as that will just add a lot of stuff that can go wrong, but when using two different devices, one thing worth trying is to swap which one runs server as the one which has trouble connecting, might still be fine for other devices to connect to.
I tried the settings you suggested, setting Simulate UMD Delay and disabling Fast Memory didn't do the trick for me. Would you mind sharing your ppsspp.ini file?
Trying to compile your "hackish" branch brings many errors, most notably a PPSSPPDL.app on Mac that doesn't have any executable inside. Must bea problem on my end.
Outside of the two I mentioned I keep all relevant settings on default.
Adhoc is pretty much an unfinished WIP that was included with all it's mess by popular demand and is typically broken by not implemented or incorrectly implemented functions, however it's even more commonly simply blocked via some system specific weirdness.
Many games for example expect really low or non-existent latency for adhoc multiplayer, time between different clients usually also has to match, port offset if used has to be exactly same on all clients etc. unthrottle or fps cheats can also cause problems as it's very asy to desync adhoc multiplayer and many games can't handle that there's probably a lot more things which can go wrong, but I'm not really into networking so can't tell. Only thing I can tell for sure is that running multiply clients on a single windows based system is pretty much a best case scenario and usually if that works, the problem lies within connection.
For connection problems tunneling through a single port(#7268) could make things easier, but at the cost of killing PSP compatibility and potentially affecting in a bad way some more sensitive games.
As for my branch I have no mac I also don't have a buildbot checking mac builds with each changes, so it's possible I broke mac build at some point;p, but most common problem people have building PPSSPP is to init and update submodules. If you simply grab the source code via download from github it will in fact not come with any submodule and PPSSPP has quite a few of them;3. You'll find build instructions here, mac specific stuff is under Qt platforms.
Ugh, still not working. Can you confirm the ID of the game (i.e. ULES vs ULUS)? I can't for the life of me figure out how to get even the official PPSSPP branch compiled, I always get an empty .app for my Mac.
Ugh, still not working. Can you confirm the ID of the game (i.e. ULES vs ULUS)? I can't for the life of me figure out how to get even the official PPSSPP branch compiled, I always get an empty .app for my Mac.
what port offset did u set i want to play with some1 but when i try connecting error comes out
need someone to post log here with scekernel , sceutility and scenetadhoc checked , debug log should be good as im writing much test code to inspect psp adhoc right now.
If i am not mistaken this works now on the latest PPSSPP build or AdamN test builds from his PR.
Last time I tried it worked anyway.
You can try to see if it works over multiple instances now.
If i am not mistaken this works now on the latest PPSSPP build or AdamN test builds from his PR.
Last time I tried it worked anyway.
You can try to see if it works over multiple instances now.
Hey MojoJojoDojo, thank you and adenovan for continuing to look after this post!
I will try to run this now between a PC and a Mac. I'll let you know what I find.