Docuemntacion Manual Docmu
Docuemntacion Manual Docmu
REMIX ONLINE
Intro
This is a guide that’s designed to help people start playing Smash 64 through netplay. It's may
seem complicated at first, but it’s pretty simple once you get the hang of things. To get started,
you MUST get the emulator from https://smash64.online/ even if you have a previous install of
Project 64, this is the one you want, NO EXCEPTIONS.
Why Are There Two Executables?
In the folder with Project 64 you’ll see two executables, one called ‘Project64KillerOP’, the other
called ‘Project64KSE’
You should ALWAYS use ‘Project64KillerOP’. There’s a bug with PJ64 KSE in which if you
close the emulator, or if it crashes the executable will still be “running” even if it's closed, and
when you try to open the emulator again it won’t load. The old way to fix this is to go into the
Task Manager and find the PJ64KSE and close it. But with Project64KillerOP, this won’t happen
as it will scan for any PJ64 instances and close it before opening PJ64, thus this bug won’t
affect you.
Setting up Emulator
The emulator will be blank and you can’t play online yet. The first thing you want to do is find
your ROMs directory, to do this, go to ‘File’, then ‘Choose Rom Directory…’, from there you’ll
want to find where your folder is with your N64 ROMs.
Most of your games should be in green text, if Smash 64/Remix/Other ROM hacks are grayed
out as pictured below, that means your RDB is outdated, read the next section to learn how to
fix it or, skip to the next section called ‘Plugins/Controllers’ if you do not have this issue. You can
NOT play online with the ROM if the text is grayed out so it's important to do fix this.
If you somehow got an older version of the emulator hosted on smash64.online you’ll instead
see a message like this
You’ll want to update the emulator as it's significantly out of date, if you can’t find the update
option (explained below), then you didn’t download the emulator from smash 64.online, and
should do so before continuing with the guide.
What's an RDB?
Before talking about how to fix it, we should first know what it is. An RDB (Rom DataBase) is a
text file which is used to help verify if a ROM matches with the database, it does this by
comparing the ROMs you have with a text file to make sure it's the ROM is a good dump. It also
saves any specific settings you use for a ROM. There's two reasons why the game name could
be grayed out.
1. You have a bad dump. Simply put, however you obtained it, you got a bad file, which will
lead to issues with it. Try to get a better dump of the ROM.
2. You have a ROM hack. ROM hacks aren't official releases, which is what the RDB file is
comparing. If it's a ROM hack for a single player game, then it's not required to add it to
the RDB, however if your ROM hack is for online use, like Smash Remix then it will have
to be added to the RDB.
Now that we have an understanding of what's going on, we can now go and fix it. There’s two
ways to add a game to the RDB, the first one will primarily work for Smash Remix if a new
update is out. You’ll typically won’t have to wait more than a day for the update to the RDB, and
when it’s released you’ll get a message when opening the emulator.
From here, the updater will take a bit a to search for an update, and if it does have one, press
Install update. Restart the emulator and Smash Remix should now be green.
The second method to add a game to an RDB is to do it manually. This is a bit more of an
advanced way to add games to the RDB and should only be done if the updater is down in the
future or if you have other online ROM hacks you want to play online with others. Just keep in
mind the update method is more reliable than manual method and it's recommended to use the
updater when possible, this is in the guide mostly for future proofing and should not be used as
the first case scenario.
You first have, go to your Project 64 folder, then go into the ‘Cfg’ folder. From there, you’ll find
‘pj64.rdb’.
Right click it and press ‘Open With’, from there, choose a text editor, like Notepad, or Notepad+
+, if you have that installed. From here, you’ll see a text document pop up, you can ignore a lot
of what you see, and instead scroll down to the bottom of the page and press enter a few times
to make new lines.
From here you’ll want to copy and paste this block into an empty area.
[CRC1-CRC2-C:45]
Counter Factor=1
Culling=1
Good Name=SmashRemixX.X.X
Internal Name=SmashRemix
RDRAM Size=8
SMM-Cache=0
SMM-FUNC=0
SMM-TLB=0
Status=Compatible
ViRefresh=2200
Now, look over to Project 64 and look at the ROMs list and find the ROM that is grayed out.
Under the tabs ‘CRC1’ and ‘CRC2’ you’ll see a bunch of numbers, take note of these numbers
as it’s unique to every ROM. Going back to the block of text you pasted in, at the top you’ll see
[CRC1-CRC2-C:45]
You want to put the numbers and letters you see from ‘CRC1’ and replace the text you see
before the hyphen, do NOT include the ‘0x’ part. You’ll repeat the same for the second set of
numbers and letters after the hyphen. The ‘-C:XX’ is for the region, unless you have a specific
reason to choose another region, just stick with ‘-C:45’ which is for the USA region. For the
“GoodName” make sure that the X’s in SmashRemixX.X.X are the numbers of the version. As of
the time of writing, the newest version is 1.2.2, so for an example, I’d write “Good
Name=SmashRemix1.2.2”. The Good Name has to be the same for everyone, so it's best to
follow what’s written exactly. Comparing how older releases of remix are written is a great visual
guide.
[As an aside, if your ROM is from a different region, you’ll want to change the ‘-C:XX to the
appropriate region. To make it the Europe region its ‘-C:50’, for the Japanese region its ‘-C:4A’
and for the Australia region its ‘-C:55’ but you don’t need to worry about most of this, just stick to
‘-C:45’ for Smash Remix]
For an example of how this is all done, I want to add the ROM hack ‘Zelda - Master of Time’ to
the RDB file in the USA region, which has the CRC1 of ‘F099270C’ and CRC2 of ‘B3639549’
but you will fill in the numbers for the ROM you’re trying to put in the RDB.
The next thing you want to change are the ‘Good Name’ and ‘Internal Name’. When you open
PJ64, you’ll see the names of the Good Name in the game list so we’ll edit that first. And the
Internal Name is displayed at the top when the game is loaded, this isn’t as important but is a
nice touch.
You don’t have to worry about the text below what we edited. Once we save the RDB file, and
restart the emulator, the text is now green!
Now that the RDB file is all sorted out, we’re ready to continue to the next part!
Plugins/Controllers
This won't be a detailed section as for the most part, you won't need to change your plugins
often. If you want a more detailed explanation on the different plugins available, go to
https://smash64.online/?s=1#select-your-plugins
https://nickthename.github.io/guides/controllers.html
To see/change your current plugin settings, you go to ‘Options’, then ‘Settings…’. Alterntivly,
you can use the shortcut ‘Ctrl+S’ on your keyboard to brind it up.
From here you’ll see three options in the ‘Plugins’ tab, if you’re not taken there by default just
press ‘Plugins’
I’ll be going over each plugin section one at a time
For the graphics plugins, most people use 'GlideN64 4.0', as it's the most accurate plugin but
crashes once a game is Dropped/closes. The other GlideN64 option is 2.0 which has a benefit
that the emulator won’t crash after ending a game (either p2p or server) so you don't have to
restart the emulator after every game. If your computer is having issues running the game with
either GlideN64 plugins, you can switch to 'Jabos 1.6'. It's much less resource intensive but has
more graphical issues, one of the most well known issues being the inability to see invincibility
frames on respawn.
For Audio plugins, your choice is either having audio with 'Azimer's Audio' or having no audio
with 'No Sound'.
For controller plugins, you either use 'Raphnet' or 'N-Rage'. If you're using a first party/third
party N64 controller, you should use Raphnet’s N64 to USB adapter, other adapters aren’t as
good and should be avoided if possible. If you’re using other controllers like Xbox, Playstation,
first
party/third party N64 controllers with non-raphnet adapters and more, you’ll use N-Rage.
Raphnet Adapter
You'll use ‘Raphnetraw 1 Player NET’ if you’re playing on netplay, but if you’re playing offline
then you have to select the plugin ‘Raphnet for Project 64’, but from my experience I don’t have
to change it from offline to online, but use case may very. No controller configuration is needed
for raphnet, making it plug and play.
I recommend lowering input delay with the software. First you need to install the raphnet
adapter software https://www.raphnet-tech.com/products/adapter_manager/, open it, then select
the adapter at the top.
Though this step isn't required, and you may not even notice the difference, there's little reason
to not do it if you can. If you don’t know what poll interval/polling means, read this article:
https://thegamingsetup.com/guides/whats-the-best-polling-rate
Ignore that it talks about a mouse, the concept still applies for controllers.
N-Rage Config
N-Rage is for every other controller, Xbox, Playstation, Keyboard, N64 controllers on non-
raphnet adapters, and so on. There's three versions given, I recommend 1.83 as it seems to be
the most consistent one, and allows you to adjust the range, but if one version isn't working,
then feel free to try another. You'll have to manually map your inputs making it not as plug and
play, and you MUST enable 'RAW data', or else it won't work. To edit your controls with N-Rage,
go to Options, then ‘Configure Controller Plugin…’
Then select the ‘Devices’ tab
And make sure that ‘RawData’ is checked, or else it won’t work in game
You can change the Mem Pak to something else if you want to, its not important for our
purposes as Smash saves to cart, not to the Mem Pak. The last thing you want to do is go to the
‘Controls’ tab.
‘Digital Pad’ is your D-Pad, ‘Buttons’ are your face buttons, ‘C Buttons’ is usually binded to your
right stick, however you should bind C-Left and C-Down to one of the face buttons, as those are
your jumping buttons and it’s in a more convenient spot. ‘Analog Stick’ is your left thumbstick,
you may want to adjust the ‘Range’ so you can get it just right for your controller, everyone’s
controller is different so mess around in training mode.
To open the ROM, simply double click the ROM’s name on the emulator, and it will open the
game.
A single click will just select the ROM, double clicking will open the ROM and pressing the enter
key on your keyboard after the first click can be a way to open the ROM.
However you load the ROM, go into 1P mode, then training mode. Mess around with the
controls for a bit, try to get a good feel, especially if you’re on N-Rage as you may have to
change the analog range a bit to get perfect.
Once you have everything set up and tested the game offline, you're ready to start playing
online!
Playing on Netplay
Open the emulator using ‘Project64KillerOP.exe’, as a reminder you should ALWAYS use this
executable.
Press 'Files', then press ‘Start Netplay…’, in order for you to play games online you must have
chosen your ROM Directory first (See above if you skipped how to) if you didn't, then you can't
load into any games.
You’ll now see a window pop up, you’ll want to change your nickname to something, and
optionally change your quit message, but that’s not important. In ‘Change Mode’ you’ll get a
drop-down with three options: 1 is P2P, for people who want to do a direct connection, this
requires port forwarding OR autopunch, 2 is client which is how you join a server, 3 is Playback
for .Krec files. Ping spoof can usually be left blank, more info will be given later on what it
means to ‘spoof’.
If You’re Joining a Server, Keep
Reading, OTHERWISE, Skip to Peer 2
Peer Section of the Guide
On the bottom you’ll see ‘Smash 64 Servers’ press that and a server list will pop up.
The important number you want to pay attention to is the Ping, the lesser the number, the
smaller the delay/lag you’ll get when playing. Usually, the highest you should go is 70, anything
higher and it’ll start becoming unplayable. To join a server, just double-click on it. If you
frequent a server, you can add it to your favorites by left-clicking the server once to select it,
then in the bottom right, press ‘Add to Favorites’. Your favorites can be seen from the first menu
we saw when opening Netplay
And to join a favorite, you simply double click the server name and it will join for you.
The top left will have a big global chat box, most people don’t use it, but you can see who
joins/leaves the server from here, along with the ping you get when you join. To the top right is a
list of the people who are in the server along with the ping of everyone there, though the ping
isn’t updated, so it only takes the original ping you came with. Lastly, on the bottom, you’ll see
the games being hosted/played if a ‘Status’ of a lobby is ‘Waiting’ that means it's open to joining,
if it's ‘Playing’ that means you can’t join it. If there are no games to play, then you can make
your own.
Simply click ‘Create’ and a drop-down of all the ROMs your emulator sees will pop up, simply
select the game you want to play, in this example 19XX.
The bottom left will show who joins/who leaves, and the bottom right will show the user and their
ping, along with the ‘Delay’ which will be talked about later. If you want to leave for some
reason, you press ‘Leave’. If someone joins and you don’t want them to, press ‘Kick’. If you want
to stop the game, but just to restart it, press ‘Drop’. If the person or people you want are in and
ready to play, press 'Start'. The buttons 'Lagstat' and 'Lagreset' don’t matter much as they're
broken and haven't worked for over a decade, giving inaccurate info, so I’ll ignore them. If you
want to record a Krec file, press the ‘Record game’ check box before the match starts. Every
lobby you make or join you have to check that box, as the setting doesn't save. Below 'Record
game' are the buttons 'Options' and 'Advertise'. Advertise isn't too important, it simply puts a
message in the server public chat that you're hosting a game.
The 'Options' button has some settings for your lobby that you may or may not want to change.
Changing any of these settings will be saved so you don’t have to do it again
‘Maxplayers’ sets it so only a certain number of players can join the lobby, the default is 4 and
most people leave it on 4, but if you only want to 1v1, then changing to 2 can be helpful.
‘Maxping’ will prevent people with really high ping from joining you, not really relevant as most
people are joining servers with about 70 ping or less, I’d recommend changing it to 100 to be on
the safe side.
‘Samedelay’ should NEVER be turned on, unless you’re doing it for fun and the opponent knows
you’re doing this. This makes it so both players share the same delay, which can cause more
delay to be added to make this work. In remix there’s an option to increase input lag for certain
players, so that should be done instead if you want to create the same effect.
Everything below is for seeing who joins/leaves and where you want to see it, either in the
emulator window, in the chat box, both, or neither. If you don't want to hear a beep when
someone joins, you can turn it off, along with the window flash, which alerts you with the
emulator window flashing if someone joins. These should usually be kept on. Once you get into
a lobby/have someone join you, and you’re both ready, press ‘Start’ to begin!
Setting Up Peer 2 Peer
P2P offers a much smoother and more reliable experience compared to server, however the
host MUST port forward. I’ll be linking the old pizza guide that explains it better than I can on
how to port forward. Ignore the part about P2P helper, it was rather finicky and wasn’t
consistent, but you could try it if you wanted to but I wouldn’t hold my breath.
https://docs.google.com/document/d/1asbuKPAhHUGWgbJtLg7RJI5Hl_yDTJBlrpEQkgkgvkg/
edit#heading=h.wjet1n26kpe0
But what if you can’t do it this way, or doing it this way isn’t working? From the same creator of
P2P helper, there’s Autopunch! It’s not quite a follow-up to the program, and it's still in beta,
however, from personal experience, it tends to work more often than P2P helper ever did. To
start this process, go to ‘File’ at the top, then ‘Open Tools…’
From here, go to ‘[Beta] Autopunch P2P’ and open it. The first time you use Autopunch, an
admin pop-up will ask about Autopunch adjusting the firewall, press Ok when this pops up. This
is the only way to get this to work.
Then you’ll see this window pop up
You’ll see a list of open programs, you simply want to fine Project 64 - Smash Edition, then
press ‘Punch!’ and you’re done! The person you want to p2p with will ALSO HAVE TO do it,
otherwise, it won't work. From here someone will host, and the other will join, if you’re joining the
host you HAVE to join twice, joining once does not work. More instructions on this down in the
next chapter.
Playing P2P
Once you set up P2P, regardless if you port forward or used Auto Punch, we can now play vs
other people. In ‘Change Mode’ go from ‘Client’ to P2P which will bring up a new menu in which
you have two options, one to join, and one to connect. Your nickname is different in P2P vs
Client, so you’ll have to set it again, and you’ll want to keep Host Port the same, the default is
27886, and there is no reason to change it. If you are the host, in the bottom, you’ll see ‘Get
Public IP for Opponent’. Click that and your IP will be in your clipboard, just paste it to your
opponent. Do not share this with anyone else but your opponent as it is sensitive info, you
could even delete the ip after they join if you really want to.
Occasionally the button will not work as the website it uses is down. If this is the case, you can
use either https://www.showmyip.com/ or https://whatismyipaddress.com/. Just make sure you
copy the ipv4 address, NOT the ipv6 address, then put ':27886' at the end of the IP. For
example if your ipv4 is 111.111.111.111 then you add the port number 27886 at the end, you’ll
get 111.111.111.111:27886. You’ll send that to your opponent to connect to.
The person that’s connecting to you will see this window, put in the IP and port into ‘Peer IP’
and press connect.
If you frequent the same few people, it's a good idea to add it to your list. Pressing ‘Add’ will
bring up this menu.
You’ll simply put in a name/tag, and their IP+port number, from there it’ll be in your ‘Stored’
area, and clicking on a name will autofill the IP for you.
Regardless if you’re joining or hosting, you’ll see this window once connecting to the IP/hosting.
Remember, if you’re using auto punch, you have to connect twice, not just once.
There is a chat box that can by typed in, the ability to spoof (Talked about below), record a krec,
or add a frame of delay, which is not needed for any case. Once both players are ready, both
players must select ‘Ready to Play’. From there, the game will load for both players. If you want
to record, you have to press the button before starting the game, or else it won’t work.
https://docs.google.com/document/d/1asbuKPAhHUGWgbJtLg7RJI5Hl_yDTJBlrpEQkgkgvkg/
edit#heading=h.8m3kbipqts6u
Spoofing can be done to artificially lower ping if the connection between two people is good
enough, but it's usually better to only try this on P2P as you aren’t dealing with a server between
two people. Spoofing on server is done by inputting a fake ping which is close to yours, making
it so you can try to force a lower frame delay, this usually isn’t effective as your ping can
increase/decrease by a little over time, which can cause the spoof to start making the game lag
to compensate. Spoofing p2p is similar, but you aren’t changing your ping to be different from
what it actually is, but instead forcing a certain amount of frame delay between two people. Most
people like to play 1-3 frames only, but some people can’t stand more than 2, and some are
more tolerable to 3, it just depends on how you react to lag. Starting past 4 frames, you can
really start to feel the effects of lag, and anything past 5 is unplayable.
Frame delay is how long it takes for your input to be sent to the other person, the farther you
are, the more of a delay you’ll have to compensate for. To see how much delay you’ll get of lag,
check out this section Pizza’s guide, which has a handy table showing you frames of delay you’ll
get with your ping to a player/server.
https://docs.google.com/document/d/1asbuKPAhHUGWgbJtLg7RJI5Hl_yDTJBlrpEQkgkgvkg/
edit#heading=h.ph3jk2lnuy1o
A desync or 'ds' is when a game state isn't 1:1 from your opponent, this is usually the case
because of internet issues, but occasionally Link can cause a ds, as it's random when he drops
his bombs while holding it. The higher the % he's at, the higher chance he has to drop it, but it's
still random. This issue tends to happen more on server than p2p, but still a chance to.happen
with p2p. A ds is usually pretty obvious as your opponent will look like they have no idea how to
play, or they just sd a few times. I've heard reports of people going back to the character select
screen as soon as they notice the ds, and it can fix it but I have no personal experience with this
trick. The only real fix is to close the emulator and rehost unless you're on Glide 2.0. If you are,
you can press 'Drop' to close the emulator, so thus you'll continue to host without issue.
Why is my Audio Choppy?
The buffer has to be decreased. Wait until the game is fully loaded and you see the N64 logo. At
the top, go to options, then ‘Configure Audio Plugin…’ if you do this before the N64 logo pops
up, it can crash the emulator, so wait until you see it.
From here, simply move the cursor to the second most left option, and press okay. You’ll have
to do this every time you restart the game/emulator. This isn't a 100% fix, but for most people,
it's perfectly fine. Do NOT uncheck 'Enable Audio Fix' as this will increase your chances of a
desync.
Krec Recording
This will be a brief section as it's not important for the overall netplay experience. A Krec is a file
that has inputs from a game while ‘recording’, and when you select a krec, it opens the ROM
and it plays back those inputs, thus it can be played back for future viewing. Make sure you
press record before the match starts, or else it won't work, the setting isn't saved after a
session. To view a krec, change from either P2P or Client to Playback. You have to have
recordings already in your ‘Records’ folder in PJ64 for something to show up in this menu.
To play back a krec, just select it from the window, and press ‘Play’. A window will pop up
showing the game selected and it will play all the inputs back to you. These can be shared for a
tourney, or to be recorded later. If you want more info for use in an online tourney, go to this
google doc.
https://docs.google.com/document/u/0/d/
1JOF3pp3CFILHzVcMK2vcwZuAFXqTw72NfAqff9EjQjo/
FAQ
Can I play on Mac/Linux? Yes, but it's complicated and out of the scope of this guide, you’ll
have to join the main SSB server and ask in #help for further details.
I got an error that isn’t shown, where can I get help? Go to the #help channel in the main SSB
server.
Credits
Originally written by carefulman with proofreading help from arhkma and cennis91 for additional
technical help.