Wonderful World/Lunaport

From Mizuumi Wiki
Jump to navigation Jump to search

Making LunaPort Work Right

1) Extract the contents of the Lunaport folder into your game folder (the one containing the game executable).

2) Open lunaport.ini

2.1) Set a player name (first option).
2.2) Set FPSHack to 8 (third to last option).
Note: If there are two FPSHack options, just set both of them to 8.
2.3) Set the number of stages appropriately - 1 for Wonderful World and 7 for Vanguard Princess.
2.4) Make sure that GameExe is set properly to the game executable you wish to run (including the ".exe").
2.5) Save and close.

3) Ensure that port 7500 is forwarded if you are hosting.

4) Ensure that Lunaport is not blocked on your firewall (or that your firewall is disabled).

5) If you are running Windows 7, set Lunaport.exe to run in Windows XP compatibility mode. (Right Click > Properties > Compatibility) There is known compatibility issues with Windows 7, if this does not work you may have to figure out something on your own.

6) Lunaport seems to be buggy when hosting for a long time without anyone connecting, it might help to wait until the other player is ready to open the program and host.

7) If Lunaport usually works for you but you find that it's not working at all, try logging out of your machine and logging back in.


Current: LunaPort r49b Homepage Download Archive

LunaPort Functions

Latest versions have 10 modes.

1: Host game (port 7500 UDP)

Wait on a connection

2: Join game (port 7500 UDP)

Join a connection. Type in the hoster's IP address here.

3: Host game on lobby (port 7500 UDP)

If you cannot host regularly you still cannot host in the lobby.

Wait on connection on the lobby

4: List lobby games

Lists current games on lobby

  • 3: Watch lobby

Watch lobby games, hit ESC to stop

  • 2: Refresh game list

Refreshes the game list, yep

  • 1: Display this menu

Brings up the lobby menu again

  • 0: Exit lobby

Returns to original LunaPort menu

  • 4 and above: Play game

Any games on the lobby will be given a number above 4. Enter the number for the match you want to join.

5: Local game with random stages in vs mode

This option is the same as playing offline except the vs stages are random.

6: Toggle replay recording

Type 6 to activate/deactivate replay recording, it saves a replay(.rpy) into your folder the next game you start.

7: Watch Replay

Simply press 7 and pick the replay you want to watch. Pause/break key sadly does not pause the replay.

8: Toggle spectators

This option is automatically enabled, type 8 to prevent spectators.

9: Spectate

Watch other people play! Note that when you spectate you might not be watching the latest match.

10: Display this menu

Typing 10 will have this menu show up again

0: Exit

Good games peace out

Change Log


  • revert recalculation of ping to r47, might fix win 7 problems


  • add FPSHack option to lunaport.ini to control experimental timing code, it is disabled by default
  • add experimental, alternative input/frame timing code
  • set timer period
  • add persistent thread instead of spawning new ones for small tasks [SAM]
  • add MSVC9 project [SAM]
  • bug where game window stays open after the game ends should be fixed, except in the case of timeouts [SAM]
  • ip:port syntax is now accepted to join/spectate games on different ports [SAM]
  • absolute paths can be specified, this means LunaPort can be stored outside the game directory [SAM]
  • path to replay directory can be set in lunaport.ini with the Replays option [SAM]


  • add Sound, PlayHostConnect and PlayLobbyChange options to lunaport.ini
  • add notify.wav to archive
  • add audio notification on connection (for host) and on change of game list in lobby when watching
  • add automatic refresh mode to lobby list to watch for new games
  • default refresh rate in lobby.php is now 2min instead of 4min
  • actually implement DisplayLobbyComments option, oops
  • fix recalculation of ping by giving delay of 0


  • no longer include LunaPort_debug.exe, the filesize has grown too much
  • add Lobby, LobbyComment and DisplayLobbyComments options to lunaport.ini
  • add simple lobby functionality (using HTTP, no chat)
  • add KeepHosting option to lunaport.ini
  • allow hosting to be cancelled with Esc key
  • clarify readme about button config
  • add license header to source code files
  • let's remember: when distributing binaries of code, which is based on gpl code, we have to distribute the source code too
  • add actual gnu gpl license text to lunaport archive, before it was only mentioned in the readme *minor bugfix


  • add KeepSessionLog and SessionLog to lunaport.ini
  • add session log functionality; character and stage names are taken from filenames (why is Haruka's file named Yukari? others look wrong too)
  • add MaxPoints option to lunaport.ini, in case some games do not use best of three
  • add recognition for lost/won matches
  • ignore multiple protocol level errors from same host, one error message is enough
  • add note about former desync sources and differences between r38 and r40-r46 to readme
  • add player names to replay filename
  • clarify "invalid protocol version" error message (depending on version, either "peer's LunaPort is too old" or "peer's LunaPort is newer, please upgrade")


  • accept bigger input resend requests
  • revert to r43, reapply KGT mismatch error fix (r44 had low stability, and no performance gain)


  • switch from mutexes to critical sections and from semaphores to metered sections (possible slight performance gain)
  • fix KGT mismatch error messages, received value was always displayed as 0


  • tweak spectator mode, bump protocol version (will likely still require more adjustments in the future)
  • add some more debug info for access violations
  • fix spectator mode
  • fix ping recalculation on entering 0 as delay
  • some network fixes
  • add breakpoint profiling to debug build
  • both r39 and r40 had protocol version bumps, forgot to note it then


  • add replay playback speed display to title bar
  • fixed bug with q and w replay controls


  • add pause, fast-forward and slow-motion controls for replay playback (see Readme.txt)
  • add option to disable game exe crc32 and size check to lunaport.ini
  • fix crash at end of replay playback


  • network synchronize stage settings
  • stage blacklist is, by default, not used for local (mode 3) games
  • blacklist stages 6 and 7 by default in lunaport.ini, because of low FPS
  • add stage blacklist as StageBlacklist and UseBlacklistLocal settings in lunaport.ini
  • ensure all players use identical game versions (crc32 and size of KGT file)
  • ensure game exe is compatible to lunaport (crc32 and size of exe)
  • correctly NOP any foreign breakpoints
  • no longer write NOP to DLL address space, this might fix random crashes
  • the impossible should no longer happen


  • closing connection should close the game now, instead of freezing
  • misc bug fixes
  • spectators get player names
  • packetloss during handshake shouldn't result in freezes anymore
  • major rewrite of network related code
  • move source files into src folder
  • add icon
  • add comments to lunaport.ini


  • another fix for resending of lost input, should work now


  • fixes for input request/resend code (works now?)
  • adjust network string length, protocol version bump


  • desync due to lost input packets should be eliminated, lost input is always resent now
  • reduced memory usage
  • reduced required network bandwidth, if no packets are lost
  • check network protocol version of packets before everything else
  • spectator tweaks, protocol version bump


  • network tweaks, protocol version bump


  • more major changes and fixes
  • protocol changes, protocol version bump
  • lots of testing


  • fixes for r32 bugs


  • major changes to netcode (experimental)
  • protocol changes, protocol version bump


  • fix bug that could lead to spectator desync in rare cases
  • fix replay playback desyncs after recording a replay
  • fix possible freeze with spectators connecting to host before client
  • add AskSpectate value in lunaport.ini, to allow disabling of spectate question on failed join
  • save player names to replays
  • add --local commandline switch for mode 3, replay recording setting from lunaport.ini is respected


  • display player names in game title bar (DisplayNames)
  • ask if player wants to spectate, if joining is not possible


  • rename packaged game.ini so configuration is not so easily overwritten
  • add player names, configurable in lunaport.ini (PlayerName)
  • spectator mode should be fixed for real now
  • improved handshake, bumped protocol version
  • denied spectators should get correct error message now


  • fixed some compiler warnings
  • actually, spectator mode still didn't work, more fixes
  • no more invalid iterators during spectator cleanup (possible crash)
  • another fix to delay calculation
  • name of game exe is now configurable as GameExe in lunaport.ini (adapted from lunapoton)


  • spectator mode works now
  • re-enable -O2


  • another general fix


  • option for input rate display in lunaport.ini (DisplayInputrate)
  • option for FPS display in lunaport.ini (DisplayFramerate)
  • add FPS and input per second display to title bar


  • remove temporary measurement code


  • add more debug log information for spectator mode
  • readjust delay calculation once more
  • use measurements
  • added temporary measurement code for inputs/second
  • tweak network constants, bump protocol version


  • fix to spectator mode


  • readjust delay calculation (seems better for now)


  • fix replay recording of single player mode in network game
  • hopefully improved netcode
  • no more -O2


  • lots of kawaii testing


  • another change for that part, maybe it's better now


  • fix for netcode bug introduced in r13


  • add setting for number of stages to lunaport.ini
  • allow host to specify delay
  • smarter user input code


  • allow configuration of port in lunaport.ini
  • add support for configuration file


  • lame, experimental lag spike compensation
  • increase initial spectator buffer


  • quick fix for spectator mode, still experimental
  • enable -O2 for compilation


  • experimental spectator support
  • improved handshake should eliminate "invalid handshake sequence" on client side due to out-of-order packets
  • bring game window to foreground
  • minor code cleanups


  • support single player mode for replay recording and network


  • replay recording and playback added


  • more fixes for stupid bugs in netcode


  • protocol version bump


  • forgot to implement the most important part. oops


  • hopefully improved netcode


  • redesign input hooks
  • much more logging, debug output to log
  • no locking for print, temporary "fix" for lockups. what's wrong there?


  • small fixes


  • added lots of logging to debug build
  • fixed some small bugs in delay calculation
Wonderful World
General FAQMechanicsHUDChangesNetplay
Characters RyuzaDunaLemiusAiwhenCoronaSasariLunathiaOrpheCieloAlicephiaSabeNevaLyniaFriedeKikiChartetteClaudetteShakeFugaEldioEtiellePaleSemniaRosalice