Opened 19 months ago

Last modified 19 months ago

#6622 new defect

In some cases, 0ad falsely detects mod incompatibility

Reported by: Andy Alt Owned by:
Priority: Should Have Milestone: Backlog
Component: Simulation Keywords:
Cc: Patch:

Description (last modified by Andy Alt)

If the name field in mod.json is "foo-bar" but the mod directory is "foo_bar" or "foo-bar-1.0", then someone attempting to join from the lobby receives an incompatibility message and cannot join.

Some things that are likely to cause this:

  • If the repo is named "foo_bar" but the name field is "foo-bar"
  • When the repo name is "foo-bar" and the mod name is "foo-bar" (correct), and someone downloads the zip from the repo home page, which is a snapshot of the repo root, when they unzip the archive, the parent directory would be something like "foo-bar-main" (the branch name appended).

The workaround to prevent the incompatibility message is to make sure your mod name doesn't use underscores and the mod directory is exactly the same as what's in the name field in mod.json.

The modding guide on the wiki should be reviewed; it might be important to make this more clear.

For a more robust fix, I suggest that 0ad should only do comparisons with the mod.json file between host and client, not its parent directory.

Related tickets: https://github.com/0ad-matters/community-maps-2/issues/52

Attachments (1)

mod_incompatibility.png (132.0 KB ) - added by Andy Alt 19 months ago.
Shows incompatibility message

Download all attachments as: .zip

Change History (2)

by Andy Alt, 19 months ago

Attachment: mod_incompatibility.png added

Shows incompatibility message

comment:1 by Andy Alt, 19 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.