Difference between revisions of "IGNFileFormat"

From The Battle for Wesnoth Wiki
(Add the + wildcard)
(Default blacklist is used for access to all files)
 
(3 intermediate revisions by 3 users not shown)
Line 3: Line 3:
  
 
If you would prefer to have more control over which files and directories should be ignored, you should provide a <b>_server.ign</b> file containing a list of filter patterns. Each file or directory matching any entry of the _server.ign file will not be included when uploaded to the add-ons server.
 
If you would prefer to have more control over which files and directories should be ignored, you should provide a <b>_server.ign</b> file containing a list of filter patterns. Each file or directory matching any entry of the _server.ign file will not be included when uploaded to the add-ons server.
 +
 +
{{DevFeature1.13|12}} The engine blocks WML and Lua from accessing any file that matches the built-in list. This was added as a security feature to block access to .git directories, disregards any _server.ign file, and is likely to change during the 1.19 dev cycle (see discussion in [https://github.com/wesnoth/wesnoth/pull/9325 PR 9325]).
  
 
== Where do I put the file, and what goes in it? ==
 
== Where do I put the file, and what goes in it? ==
Line 12: Line 14:
 
* {{DevFeature1.13|0}}: Blank lines and lines beginning with '<code># </code>' (space required) are ignored.
 
* {{DevFeature1.13|0}}: Blank lines and lines beginning with '<code># </code>' (space required) are ignored.
 
* Each line should contain exactly one pattern.
 
* Each line should contain exactly one pattern.
* <code>*</code> and <b>?</b> wildcards are supported (<b>?</b> stands for any single character, <code>*</code> stands for any number of any characters).
+
* <code>*</code> and <code>?</code> wildcards are supported (<code>?</code> stands for any single character, <code>*</code> stands for any number of any characters).
* {{DevFeature1.13|12}}: <code>+</code> wildcards are also supported: it stands for one or more character.
+
* {{DevFeature1.13|12}}: <code>+</code> wildcards are also supported: it stands for one or more characters.
 
* Patterns with a trailing forward slash '<code>/</code>' will match directories; the rest only match files.
 
* Patterns with a trailing forward slash '<code>/</code>' will match directories; the rest only match files.
  
Line 20: Line 22:
 
If there is no custom _server.ign file present, a default filter will be used instead, which is as follows:
 
If there is no custom _server.ign file present, a default filter will be used instead, which is as follows:
  
  .*
+
  .+
  .*/
+
  .+/
 
  __MACOSX/
 
  __MACOSX/
 
  #*#
 
  #*#
Line 44: Line 46:
 
  *.project
 
  *.project
  
If there is a custom _server.ign file, the contents of the file are used in addition to the defaults listed here.
+
If you create a custom _server.ign, you should add these entries to it.
  
 
== See Also ==
 
== See Also ==

Latest revision as of 09:48, 14 September 2024

When you upload an add-on, some files and directories are ignored and not uploaded.

If you would prefer to have more control over which files and directories should be ignored, you should provide a _server.ign file containing a list of filter patterns. Each file or directory matching any entry of the _server.ign file will not be included when uploaded to the add-ons server.

(Version 1.13.12 and later only) The engine blocks WML and Lua from accessing any file that matches the built-in list. This was added as a security feature to block access to .git directories, disregards any _server.ign file, and is likely to change during the 1.19 dev cycle (see discussion in PR 9325).

Where do I put the file, and what goes in it?

The file should be placed within the root level of your add-on (data/add-ons/addon_name/_server.ign).

A specific format is required:

  • (Version 1.13.0 and later only): Blank lines and lines beginning with '# ' (space required) are ignored.
  • Each line should contain exactly one pattern.
  • * and ? wildcards are supported (? stands for any single character, * stands for any number of any characters).
  • (Version 1.13.12 and later only): + wildcards are also supported: it stands for one or more characters.
  • Patterns with a trailing forward slash '/' will match directories; the rest only match files.

Default values

If there is no custom _server.ign file present, a default filter will be used instead, which is as follows:

.+
.+/
__MACOSX/
#*#
*~
*-bak
*.swp
*.pbl
*.ign
_info.cfg
*.exe
*.bat
*.cmd
*.com
*.scr
*.sh
*.js
*.vbs
*.o
*.ini  (Version 1.13.12 and later only)
Thumbs.db
*.wesnoth
*.project

If you create a custom _server.ign, you should add these entries to it.

See Also

This page was last edited on 14 September 2024, at 09:48.