Welcome to the Chocolatey Community Package Repository! The packages found in this section of the site are provided, maintained, and moderated by the community.
Moderation
Every version of each package undergoes a rigorous moderation process before it goes live that typically includes:
- Security, consistency, and quality checking
- Installation testing
- Virus checking through VirusTotal
- Human moderators who give final review and sign off
More detail at Security and Moderation.
Organizational Use
If you are an organization using Chocolatey, we want your experience to be fully reliable. Due to the nature of this publicly offered repository, reliability cannot be guaranteed. Packages offered here are subject to distribution rights, which means they may need to reach out further to the internet to the official locations to download files at runtime.
Fortunately, distribution rights do not apply for internal use. With any edition of Chocolatey (including the free open source edition), you can host your own packages and cache or internalize existing community packages.
Disclaimer
Your use of the packages on this site means you understand they are not supported or guaranteed in any way. Learn more...
- Passing
- Failing
- Pending
- Unknown / Exempted

Downloads:
1,052
Downloads of v 1.2.1:
394
Last Update:
12 Aug 2015
Package Maintainer(s):
Software Author(s):
- Sil Development Team
Tags:
sil moria tolkein games roguelike- Software Specific:
- Software Site
- Package Specific:
- Possible Package Source
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download

Sil
This is not the latest version of Sil available.
- Software Specific:
- Software Site
- Package Specific:
- Possible Package Source
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download
Downloads:
1,052
Downloads of v 1.2.1:
394
Maintainer(s):
Software Author(s):
- Sil Development Team
Edit Package
To edit the metadata for a package, please upload an updated version of the package.
Chocolatey's Community Package Repository currently does not allow updating package metadata on the website. This helps ensure that the package itself (and the source used to build the package) remains the one true source of package metadata.
This does require that you increment the package version.
Sil 1.2.1
This is not the latest version of Sil available.
Some Checks Have Failed or Are Not Yet Complete
1 Test Passing and 1 Failing Test
To install Sil, run the following command from the command line or from PowerShell:
To upgrade Sil, run the following command from the command line or from PowerShell:
To uninstall Sil, run the following command from the command line or from PowerShell:
NOTE: This applies to both open source and commercial editions of Chocolatey.
1. Ensure you are set for organizational deployment
Please see the organizational deployment guide
2. Get the package into your environment-
Open Source or Commercial:
- Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://chocolatey.org/api/v2. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
- You can also just download the package and push it to a repository Download
-
Open Source
- Download the Package Download
- Follow manual internalization instructions
-
Package Internalizer (C4B)
- Run
choco download sil --internalize --version=1.2.1 --source=https://chocolatey.org/api/v2
(additional options) - Run
choco push --source="'http://internal/odata/repo'"
for package and dependencies - Automate package internalization
- Run
3. Enter your internal repository url
(this should look similar to https://chocolatey.org/api/v2)
4. Choose your deployment method:
choco upgrade sil -y --source="'STEP 3 URL'" [other options]
See options you can pass to upgrade.
See best practices for scripting.
Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.
If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:
choco upgrade sil -y --source="'STEP 3 URL'"
$exitCode = $LASTEXITCODE
Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
Exit 0
}
Exit $exitCode
- name: Ensure sil installed
win_chocolatey:
name: sil
state: present
version: 1.2.1
source: STEP 3 URL
See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.
Coming early 2020! Central Managment Reporting available now! More information...
chocolatey_package 'sil' do
action :install
version '1.2.1'
source 'STEP 3 URL'
end
See docs at https://docs.chef.io/resource_chocolatey_package.html.
Chocolatey::Ensure-Package
(
Name: sil,
Version: 1.2.1,
Source: STEP 3 URL
);
Requires Otter Chocolatey Extension. See docs at https://inedo.com/den/otter/chocolatey.
cChocoPackageInstaller sil
{
Name = 'sil'
Ensure = 'Present'
Version = '1.2.1'
Source = 'STEP 3 URL'
}
Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.
package { 'sil':
provider => 'chocolatey',
ensure => '1.2.1',
source => 'STEP 3 URL',
}
Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.
salt '*' chocolatey.install sil version="1.2.1" source="STEP 3 URL"
See docs at https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.chocolatey.html.
5. If applicable - Chocolatey configuration/installation
See infrastructure management matrix for Chocolatey configuration elements and examples.
This package was approved by moderator ferventcoder on 28 Dec 2015.
Sil is a role-playing game with a strong emphasis on discovery and tactical combat. It has a simple but rich combat system which allows for a great variety of choice: should you wear heavy armour that makes you easier to hit but reduces the damage you take? should you wield heavier weapons to overcome your opponents’ armour, or wield lighter weapons for more accuracy and a greater chance of critical hits? It depends on the situation and the type of character you become. You will also have the chance to retreat back into shadowy corridors to take the enemy one by one, or to stealthily creep up to your opponent and take him unawares.
It is also one of very few games that stays true to the writings of Tolkien. Carefully researched, it dispenses with many generic fantasy tropes and reveals a different world. There are no wizards or priests, no plate mail or magical scrolls. Instead, it is the Norse Saga inspired world that Tolkien imagined, with warriors clad in shining mail, singing songs of rage or sorrow as they slay. The magic of the world is subtle yet powerful: there are songs of fear and of binding, rather than spells of fireball and teleportation.
Sil comes from a tradition of role-playing games known as roguelikes. They stem from a game called Rogue that was written before computers had graphics and instead used symbols on the screen to represent a dungeon filled with monsters and treasure, that was randomly generated each time you played. Rogue also had ‘permanent death’: you have only one life and must choose wisely lest you have to start again. Finally, it had a system of unidentified items whose powers you must discover for yourself. Sil inherits all of these features, though it is much more advanced in many ways.
<#
.SYNOPSIS
Create a .ignore file for a package binary.
.DESCRIPTION
Chocolatey automatically creates a "shim" in a special folder, on your
machine's PATH, for any executables found in the package's installation
directory. This is helpful when installing ZIP packages or any kind of
command line tools.
Chocolatey can be instructed to ignore a particular binary by creating a file
at the same path with the same name as the binary to ignore, except ending
with the file extension ".ignore".
This function creates that file, given the binary's path.
.PARAMETER Path
The path of the binary to ignore.
This parameter also accepts multiple paths or pipeline input.
.EXAMPLE
Install-IgnoreBin -Path "foo.exe"
.EXAMPLE
Install-IgnoreBin -Path $foo, $bar
.EXAMPLE
Get-ChildItem "$content\foo\*.exe" | Install-IgnoreBin
.LINK
https://github.com/AnthonyMastrean/chocolateypackages/blob/master/helpers/bins.ps1
#>
function Install-IgnoreBin {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true, ValueFromPipeline = $true)]
[ValidateNotNullOrEmpty()]
[ValidateScript({ Test-Path $_ })]
[string[]] $Path
)
PROCESS {
foreach($item in $Path) {
New-Item "$(Resolve-Path $item).ignore" -Type "File" -Force | Out-Null
}
}
}
<#
.SYNOPSIS
Create a .gui file for a package binary.
.DESCRIPTION
Chocolatey automatically creates a "shim" in a special folder, on your
machine's PATH, for any executables found in the package's installation
directory. This is helpful when installing ZIP packages or any kind of
command line tools.
Chocolatey can be instructed to treat a particular binary as a GUI application,
meaning it will START the binary in a separate process and not block the
console, by creating a file at the same path with the same name as the binary,
except ending with the file extension ".gui".
This function creates that file, given the binary's path.
.PARAMETER Path
The path of the binary to treat as a GUI application.
This parameter also accepts multiple paths or pipeline input.
.EXAMPLE
Install-GuiBin -Path "foo.exe"
.EXAMPLE
Install-GuiBin -Path $foo, $bar
.EXAMPLE
Get-ChildItem "$content\foo\*.exe" | Install-GuiBin
.LINK
https://github.com/AnthonyMastrean/chocolateypackages/blob/master/helpers/bins.ps1
#>
function Install-GuiBin {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true, ValueFromPipeline = $true)]
[ValidateNotNullOrEmpty()]
[ValidateScript({ Test-Path $_ })]
[string[]] $Path
)
PROCESS {
foreach($item in $Path) {
New-Item "$(Resolve-Path $item).gui" -Type "File" -Force | Out-Null
}
}
}
$ErrorActionPreference = 'Stop'
$id = 'sil'
$name = 'Sil'
$url = 'http://www.amirrorclear.net/flowers/game/sil/Sil-121-Win.zip'
$hash = 'c6f5237fed3a8264806afbeba675a3ac'
$tools = Split-Path $MyInvocation.MyCommand.Definition
$package = Split-Path $tools
$content = Join-Path $package 'Sil'
$exe = Join-Path $content 'sil.exe'
. $tools\shortcut.ps1
. $tools\bins.ps1
$zip_args = @{
packageName = $id
unzipLocation = $package
url = $url
checksum = $hash
}
$shortcut_args = @{
link = $name
target = $exe
specialFolder = 'CommonPrograms'
}
$bin_args = @{
path = $exe
}
Install-ChocolateyZipPackage @zip_args
Install-Shortcut @shortcut_args
Install-IgnoreBin @bin_args
$ErrorActionPreference = 'Stop'
$id = 'sil'
$name = 'Sil'
$tools = Split-Path $MyInvocation.MyCommand.Definition
. $tools\shortcut.ps1
$shortcut_args = @{
link = $name
specialFolder = 'CommonPrograms'
}
Uninstall-Shortcut @shortcut_args
<#
.SYNOPSIS
Install-Shortcut creates a new shortcut to a file or program.
.DESCRIPTION
Install-Shortcut wraps the COM Object, Wscript.Shell, and its arguments to create
a shortcut to a file or program. It requires some very specific input, please
review the notes on each parameter.
.PARAMETER Link
The shortcut to create.
The underlying COM Object requires an absolute path. This function will
attempt to properly expand that path, especially if you provide a
SpecialFolder as a root directory.
The underlying COM Object also requires that the link's path/name end in
either .lnk or .url. This function will attempt to add that file extension if
it is not provided.
The underlying COM Object will fail silently in many cases, especially due to
improperly formatted link paths. This function will test the existence of the
expected link using this parameter and fail if it is not found.
.PARAMETER Target
The target of the shortcut.
This path must exist. This function will attempt to expand the path to its
absolute value.
.PARAMETER SpecialFolder
The Windows special folder to contain this shortcut.
If you want to create a shortcut at one of the system managed paths, such as
the Desktop or the Start Menu, you should use the special tokens provided.
The most commonly used are
* CommonDesktop
* CommonStartup
* CommonPrograms
If you provide a special folder, the Link parameter may contain a simple
"name" and not a file path.
The full list of special folders can be found here:
https://msdn.microsoft.com/en-us/library/system.environment.specialfolder(v=vs.110).aspx
.PARAMETER Icon
The icon of the shortcut.
This can take several forms and, due to this, is not validated carefully. You
can provide an absolute file path (this is your responsibility), like
"C:\Windows\notepad.exe"
Or, you can provide an absolute file path and an index into the resources of
that program, like
"C:\Windows\notepad.exe, 1"
.PARAMETER Description
The tooltip to display on the shortcut.
.EXAMPLE
Install-Shortcut -Link "foo" -Target "foo.exe" -SpecialFolder "CommonDesktop" -Description "The Foo program"
.EXAMPLE
Unistall-Shortcut -Link "foo" -SpecialFolder "CommonDesktop"
.LINK
https://github.com/AnthonyMastrean/chocolateypackages/blob/master/helpers/shortcut.ps1
#>
function Install-Shortcut {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string] $Link,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[ValidateScript({ Test-Path $_ })]
[string] $Target,
[string] $SpecialFolder,
[string] $Icon,
[string] $Description
)
$Link = Resolve-ShortcutLink -Link $Link -SpecialFolder $SpecialFolder
$shell = New-Object -ComObject 'Wscript.Shell'
$shortcut = $shell.CreateShortcut($Link)
$shortcut.TargetPath = (Resolve-Path $Target)
$shortcut.WorkingDirectory = (Split-Path (Resolve-Path $Target))
if($Icon) {
$shortcut.IconLocation = $Icon
}
if($Description) {
$shortcut.Description = $Description
}
$shortcut.Save()
if(-not(Test-Path $Link)) {
throw "Failed to create shortcut: $Link"
}
}
function Uninstall-Shortcut {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string] $Link,
[string] $SpecialFolder
)
$Link = Resolve-ShortcutLink -Link $Link -SpecialFolder $SpecialFolder
Remove-Item $Link -Force | Out-Null
}
function Resolve-ShortcutLink {
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string] $Link,
[string] $SpecialFolder
)
if(-not($Link.ToLower().EndsWith('.lnk') -or $Link.ToLower().EndsWith('.url'))) {
$Link = "$Link.lnk"
}
if($SpecialFolder) {
$Link = Join-Path ([System.Environment]::GetFolderPath($SpecialFolder)) $Link
}
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($Link)
}
Log in or click on link to see number of positives.
- sil.1.2.1.nupkg (a442221a3af9) - ## / 56
In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).
Chocolatey Pro provides runtime protection from possible malware.
Version | Downloads | Last Updated | Status |
---|---|---|---|
Sil 1.3 | 658 | Friday, September 8, 2017 | Approved |
Sil 1.2.1 | 394 | Wednesday, August 12, 2015 | Approved |
This package has no dependencies.
Ground Rules:
- This discussion is only about Sil and the Sil package. If you have feedback for Chocolatey, please contact the Google Group.
- This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
- The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
- Tell us what you love about the package or Sil, or tell us what needs improvement.
- Share your experiences with the package, or extra configuration or gotchas that you've found.
- If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.