{"id":13436137,"url":"https://github.com/thindil/steamsky","last_synced_at":"2026-04-19T05:05:45.084Z","repository":{"id":44760409,"uuid":"63979714","full_name":"thindil/steamsky","owner":"thindil","description":"Mirror of a roguelike in sky with a steampunk setting","archived":false,"fork":false,"pushed_at":"2026-02-20T04:12:17.000Z","size":42181,"stargazers_count":101,"open_issues_count":2,"forks_count":8,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-02-20T08:19:54.739Z","etag":null,"topics":["game","nim","roguelike","tk"],"latest_commit_sha":null,"homepage":"https://www.laeran.pl.eu.org/repositories/steamsky","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thindil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"thindil","open_collective":"laeran"}},"created_at":"2016-07-22T19:56:52.000Z","updated_at":"2026-02-20T04:12:21.000Z","dependencies_parsed_at":"2026-01-05T19:02:13.906Z","dependency_job_id":null,"html_url":"https://github.com/thindil/steamsky","commit_stats":{"total_commits":21737,"total_committers":5,"mean_commits":4347.4,"dds":"0.00041404057597649313","last_synced_commit":"3bfb150f8ad8c0c1f53c638df62a530e4b6a66f5"},"previous_names":[],"tags_count":224,"template":false,"template_full_name":null,"purl":"pkg:github/thindil/steamsky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thindil%2Fsteamsky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thindil%2Fsteamsky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thindil%2Fsteamsky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thindil%2Fsteamsky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thindil","download_url":"https://codeload.github.com/thindil/steamsky/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thindil%2Fsteamsky/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29705890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T05:59:28.568Z","status":"ssl_error","status_checked_at":"2026-02-22T05:58:46.208Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","nim","roguelike","tk"],"created_at":"2024-07-31T03:00:44.576Z","updated_at":"2026-04-19T05:05:45.047Z","avatar_url":"https://github.com/thindil.png","language":"Nim","funding_links":["https://buymeacoffee.com/thindil","https://opencollective.com/laeran"],"categories":["Ada","Games"],"sub_categories":["Continuous Integration"],"readme":"## General Info\n\nSteam Sky is an open source roguelike with a steampunk setting. You are the\ncommander of a flying ship, as leader you will be traveling across floating\nbases, engaging in combat, trading goods etc. There is no mandatory ending\nto the game, you may freely play until your character dies. The game is\ncurrently in constant development, but is in a playable state. Steam Sky is\navailable for Linux and Windows 64-bit platforms. If you read this file\non GitHub: **please don't send pull requests here**. All will be automatically\nclosed. Any code propositions should go to the [Fossil](https://www.laeran.pl.eu.org/repositories/steamsky) repository.\n\n## Game versions\n\nThere are currently 2 versions of the game:\n\n* 12.0.x: \"stable\" version of game. This version will receive bug fixes but\n  no new features. Source code for this version is in the *12.0* branch.\n* 12.x: \"development\" version of game, future version 13.0. This is where\n  game feature updates happen. Due to new features, save compatibility\n  will typically break between releases. Use this version at your own risk.\n  Source code for this version is in the *trunk* branch. **This** version.\n\n## Build game from sources\n\n### Nimble way\n\nFirst, you will need to install [Nim](https://nim-lang.org/) programming\nlanguage. It is recommended to use instructions from the download page.\nLinux packages are usually outdated and may not work.\nPerhaps the easiest way to build the game is to use [nimble](https://github.com/nim-lang/nimble)\ntool. It will install all needed Nim packages. Additionally, you will need\nto install *Tcl* and *Tk* development version of packages. On Windows, you can\nuse [MagicSplat](https://www.magicsplat.com/tcl-installer/index.html)\ninstaller, on Debian-based distributions, it will be `apt-get install tcl-dev tk-dev`.\nAdditional libraries, needed for running the game are listed in the section\n**Libraries needed to run the game** of the README.md.\n\nWhen you have all dependencies installed, in the main directory, where this\nfile is, type: `nimble release -y` for build the release version of the\ngame, or `nimble debug -y` to build the debug version of the game.\n\nYou can also use the script `build.nims` from `others`. In the main directory,\nwhere this file is, type `others/build.nims` on Linux or `nim others\\build.nims`\non Windows. It will build the game and put all needed files (except libraries)\nto directory *release* in the project root directory (where this file is).\n\n### Docker way\n\nYou can use Docker images `build` and `buildwin64` from the project\n[Docker](https://github.com/thindil/docker). They contain all libraries\n\nand compiler needed to build the game.\n\nTo build the game for Linux, download `build` image and type in console:\n\n`docker run --rm -v [path to source code]:/app ghcr.io/thindil/build /bin/bash -c \"cd /app \u0026\u0026 others/build.nims\"`\n\nTo build the game for Windows 64-bit, download `buildwin64` image and type in console:\n\n`docker run --rm -v [path to source code]:/app ghcr.io/thindil/buildwin64 /bin/bash -c \"cd /app \u0026\u0026 others/build.nims x86_64-windows\"`\n\nIt will build the game and put all needed files (except libraries) to directory\n*release* in the project root directory (where this file is).\n\n### Build unit tests\n\nUse the script `tests.nims` from the `others` directory. In the project's main\ndirectory (where this file is):\n\n* From console: type `others/tests.nims 1`. The argument is how many times\n  repeat the tests.\n\nThe project's tests use package [unittest2](https://github.com/status-im/nim-unittest2),\nthus all its runtime options can be used to run the tests.\n\n## Generating code documentation\n\nTo generate (or regenerate) code documentation, you can use the default *nimble*\ntask, `nimble doc [filename]`. It will generate the HTML code documentation\nof the selected file. To build the code documenation for the whole project,\ntype in console: `nimble docs -y`, in the main directory, where the file is.\nIt will generate the code documenation in the *htmldoc* directory.\n\n## Running Steam Sky\n\nIf you compiled the game just clicking on (or executing in console) `steamsky`\n(on Linux) or `steamsky.exe` (on Windows) in `bin` directory should run it.\nIf you use the downloaded version, the executable file is in the main\ndirectory.\n\n### Libraries needed to run the game\n\nAdditionally, the game requires a few more libraries to run. They are included\nin the releases:\n\n* TkLib. Included in MagicSplat version for Windows, on Linux should\n  be available in all mayor distributions.\n\n* Tk extension *tksvg*. You can get it from:\n\n   \u003chttps://github.com/auriocus/tksvg\u003e\n\n* Tk extension *extrafont*. You can get it from:\n\n   \u003chttps://wiki.tcl-lang.org/page/extrafont\u003e\n\n### Starting parameters\nYou can specify the game directories through command-line parameters.\nPossible options are:\n\n* --datadir=[directory] This is where the game data files are kept.\n   Example: `./steamsky --datadir=/home/user/game/tmp`.\n   Default value is *data/*\n\n* --savedir=[directory] This is where savegames and logs are kept.\n   The Game must have written permission to this directory.\n   Example: `./steamsky --savedir=/home/user/.saves`.\n   Default value is *data/saves/*\n\n* --docdir=[directory] This is where the game documentation is.\n   Example `./steamsky --docdir=/usr/share/steamsky/doc`.\n   Default value is *doc/*.\n\n* --modsdir=[directory] This is where mods are loaded from.\n   Example:`./steamsky --modsdir=/home/user/.mods`.\n   Default value is *data/mods/*\n\n* --themesdir=[directory] This is where custom themes are loaded from.\n   Example: `./steamsky --themesdir=/home/user/.mods`.\n   Default value is *data/themes/*\n\nOf course, you can set all the parameters at once:\n`./steamsky --datadir=somedir/ --savedir=otherdir/ --docdir=anotherdir/`\n\nPaths to directories can be absolute or relative where file `steamsky` is. For\nWindows, use `steamsky.exe` instead `./steamsky`. If you use AppImage version\nof the game, you can also use all of this starting parameters.\n\n### Testing versions\n\nHere are available testing versions of the game. You can find them\nin [GitHub Actions](https://github.com/thindil/steamsky/actions/workflows/ada-devel.yml).\nJust select option from the list of results to see Artifacts list.\nTo use them, first you must download normal development release. Then unpack\nfiles (replace existing) to the proper location where the game is installed.\n\n* steamsky-development-windows.tar contains Windows 64-bit version of the game.\n\n* steamsky-development-linux.tar contains Linux 64-bit version of the game.\n\nSize is a file's size after unpacking. You will download it compressed with\nZip.\n\n## Modding Support\nFor detailed information about modifying various game elements or debugging\ngame, see [MODDING.md](bin/doc/MODDING.md)\n\n## Contributing to project\nFor detailed information about contributing to the project\n(bug reporting, ideas propositions, code conduct, etc),\nsee [CONTRIBUTING.md](bin/doc/CONTRIBUTING.md)\n\n## Licenses\nThe game is available under the GPLv3 license.\n\nTcl/Tk, Tklib, Tksvg and Extrafont libraries distributed with the game are\nunder BSD-like license.\n\nNuklear GUI library, used in the new UI is under MIT license.\n\nThe Licensing for the fonts distributed with the game is as follows:\n\n* Font Amarante is under SIL Open Font License: https://fonts.google.com/specimen/Amarante\n* Font Hack Nerd Font is under MiT license: https://nerdfonts.com/\n* Font Roboto is under Apache v2.0 license: https://fonts.google.com/specimen/Roboto\n\nAll images used by the game are from https://game-icons.net, distributed under\nCC-BY-3.0 license.\n\nThe changelog and a copy of the GPLv3 license can be found in the [doc](bin/doc) directory.\n\n---\nThat's all for now, as usual, I have probably forgotten about something important ;)\n\nBartek thindil Jasicki\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthindil%2Fsteamsky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthindil%2Fsteamsky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthindil%2Fsteamsky/lists"}