Skip to content

calvus/vapor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vapor (BETA)

Vapor is automated extensible Steam client for node.js.

vapor

Motivation

The idea behind Vapor is simple - provide lightweight client which will contain only the most necessary functionality, such as being able to log in, and make this client's behaviour extensible by using plugins.

This concept is very similar to Stem, however the plugin system is slightly different.

Core

Vapor's core (represented by this repo) provides a very simple automated client. This client uses node-steam (extended with node-steam-groups) to connect to Steam servers.

Core represents several key features:

  • easy to update and does not have to be modified by the user
  • handles log in process, including auth codes and sentry files
  • logs all Steam events to console and file
  • provides API for plugins
  • makes it possible to run multiple bots using a single installation

Everything else needs to be programmed separately using plugin system.

Plugins

Plugins are self-contained code snippets which extend Vapor's behaviour.

Plugins have:

  • access to active Steam client instance
  • access to Steam's enums
  • access to logger

They can:

  • emit custom events
  • listen to events
  • have their own config file
  • store data

Using this pattern, there are no hard dependencies between two plugins. If a plugin listens to another plugins event, the plugin won't break even if the other plugin isn't available.

More information

Visit this repo's Wiki for more information regarding installation, configuration, API, plugins, etc.

You can also find auto-generated API docs in the docs folder.

LICENSE

MIT. See LICENSE.

About

Automated extensible Steam client.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%