Difference between revisions of "IGNFileFormat"

From The Battle for Wesnoth Wiki
(Edited for clarity)
(Default blacklist is used for access to all files)
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
 
When you upload an add-on, some files and directories are ignored and not uploaded.
 
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 <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.
  
== Where do I put the file? ==
+
{{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? ==
  
The file should be placed within the root level of your add-on (<code>data/add-ons/addon_name/_server.ign</code>).
+
The file should be placed within the root level of your add-on (<i>data/add-ons/addon_name/_server.ign</i>).
  
== What goes into the file? ==
+
A specific format is required:
  
* Each line should contain exactly one pattern and nothing else.
+
* {{DevFeature1.13|0}}: Blank lines and lines beginning with '<code># </code>' (space required) are ignored.
* <b>*</b> and <b>?</b> wildcards are supported (<b>?</b> stands for any single character, <b>*</b> stands for any number of any characters).
+
* Each line should contain exactly one pattern.
* Patterns with a trailing forward slash (<b>/</b>) will match directories; the rest only match files.
+
* <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 characters.
 +
* Patterns with a trailing forward slash '<code>/</code>' will match directories; the rest only match files.
  
=== Default values ===
+
==== Default values ====
  
If there is no custom _server.ign file present, a default filter will be used instead, which as of Wesnoth 1.12 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 38: Line 41:
 
  *.vbs
 
  *.vbs
 
  *.o
 
  *.o
 +
*.ini  {{DevFeature1.13|12}}
 
  Thumbs.db
 
  Thumbs.db
 
  *.wesnoth
 
  *.wesnoth
 
  *.project
 
  *.project
  
If there is a custom _server.ign file, the contents of the file are used as the filter '''instead''' of the defaults, so you should include any of the applicable default exclusions patterns in your own file as well.  
+
If you create a custom _server.ign, you should add these entries to it.
 +
 
 +
== See Also ==
 +
 
 +
* [[PblWML]]
  
 
[[Category:Create]]
 
[[Category:Create]]

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.