An official continuation of https://github.com/djoslin0/sm64ex-coop on sm64coopdx for the enhancements and progress it already has.
Find a file
Emily♥ 149cb10153
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
Fix sync valid packet issues for the server (#1228)
* Fix erroneous sync valid packets

When the server received a sync valid packet from another player, it would also set the server player's level. This simple fix makes this no longer happen.

* Fix sync valid packets with host

Okay, so it turns out that the host was unable to differentiate between packets meant to validate other players, and packets meant to validate itself (sent when entering a level another player is already in). I changed so that the packet also includes who the sync packet is validating. Requires an additional byte, as well as adding an argument to network_send_sync_valid.

* Don't have server inform itself

Fixes HOOK_ON_SYNC_VALID being called twice
2026-05-07 11:23:57 -04:00
.github Add backwards compatibility for older versions of macOS and add new macOS Icon (#957) 2026-02-23 08:35:53 +10:00
actors Speed up lighting engine by 80% 2025-07-17 15:41:06 -04:00
assets extract demo data from rom at runtime 2025-01-13 22:27:47 +10:00
autogen Fix rendering issues with held objects (#1221) 2026-05-06 07:10:59 +10:00
bin Mark all unused variables as unused, resolve other warnings (#1147) 2026-04-21 23:40:24 -04:00
data Fix rendering issues with held objects (#1221) 2026-05-06 07:10:59 +10:00
developer ModFs improvements (#907) 2025-10-21 19:42:06 +02:00
docs Fix rendering issues with held objects (#1221) 2026-05-06 07:10:59 +10:00
dynos/packs Introduce this new pack in a more proper reviewable manner (#1192) 2026-04-21 23:41:44 -04:00
include Fix rendering issues with held objects (#1221) 2026-05-06 07:10:59 +10:00
lang Add version info (Windows) + Smart update checker (#1069) 2026-05-01 22:05:42 -04:00
levels Make painting textures replaceable by Lua 2025-10-05 12:12:14 +02:00
lib Add backwards compatibility for older versions of macOS and add new macOS Icon (#957) 2026-02-23 08:35:53 +10:00
mods Day Night Cycle DX v2.5.2 2026-05-06 16:02:24 -04:00
palettes Fix Waluigi 2024-06-30 15:09:07 -04:00
res Add version info (Windows) + Smart update checker (#1069) 2026-05-01 22:05:42 -04:00
sound fix missing non mario character sounds 2025-03-13 21:49:20 +10:00
src Fix sync valid packet issues for the server (#1228) 2026-05-07 11:23:57 -04:00
text Add `smlua_text_utils_allocate_dialog` (#896) 2025-08-03 17:49:45 +02:00
textures more font adjustments (#1211) 2026-04-29 21:21:27 -04:00
tools Mark all unused variables as unused, resolve other warnings (#1147) 2026-04-21 23:40:24 -04:00
.clang-format Refresh 1 2019-09-01 15:50:50 -04:00
.clang-tidy Refresh 1 2019-09-01 15:50:50 -04:00
.gitattributes Merge pull request #42 from krmeet/luac 2024-01-01 12:53:32 -05:00
.gitignore Update coopnet / libjuice (#1002) 2025-11-13 08:06:29 +10:00
assets.json DynOS Skyboxes 2023-11-06 18:37:02 -05:00
CHANGES Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
charmap.txt refresh 5 2020-01-03 10:38:57 -05:00
charmap_menu.txt refresh 5 2020-01-03 10:38:57 -05:00
credits.txt Update credits 2024-06-30 11:16:46 -04:00
Dockerfile Add curl to Dockerfile 2024-06-08 08:07:47 -04:00
dynos.mk Added DynOS v1.1 without the dynamic options 2022-03-09 18:01:03 -08:00
extract_assets.py extract demo data from rom at runtime 2025-01-13 22:27:47 +10:00
format.sh sm64coopdx 2023-10-30 01:03:36 -04:00
Makefile CObject Properties (#1068) 2026-05-01 22:12:51 -04:00
Makefile.split extract assets from rom at runtime (#4) 2024-03-23 16:11:30 -04:00
README.md Add Community section with Discord link 2026-05-05 09:35:01 +10:00
sm64.eu.sha1 these should remain 2025-05-29 12:50:35 +10:00
sm64.jp.sha1 these should remain 2025-05-29 12:50:35 +10:00
sm64.sh.sha1 these should remain 2025-05-29 12:50:35 +10:00
sm64.us.sha1 these should remain 2025-05-29 12:50:35 +10:00
util.mk Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
windows.ld [Experimental] Reduce the size of Windows builds by cleaning the MinGW debug info (#585) 2024-12-29 14:29:26 -05:00

sm64coopdx Logo

sm64coopdx is an online multiplayer project for the Super Mario 64 PC port that synchronizes all entities and every level for multiple players. The project was started by the Coop Deluxe Team. The purpose is to actively maintain and improve, but also continue sm64ex-coop, created by djoslin0. More features, customization, and power to the Lua API allow modders and players to enjoy Super Mario 64 more than ever!

Feel free to report bugs or contribute to the project.

Initial Goal (Accomplished)

Create a mod for the PC port where multiple people can play together online.

Unlike previous multiplayer projects, this one synchronizes enemies and events. This allows players to interact with the same world at the same time.

Interestingly enough though, the goal of the project has slowly evolved over time from simply just making a Super Mario 64 multiplayer mod to constantly maintaining and improving the project (notably the Lua API.)

Documentation

sm64coopdx is moddable via Lua, similar to Roblox and Garry's Mod's Lua APIs. To get started, click here to see the Lua documentation. If you want to contribute to the repo, you can view the C documentation here.

Wiki

The wiki is made using GitHub's wiki feature, you can go to the wiki tab or click here.

Community

We have an official Discord server open to the public here.