Git Product home page Git Product logo

s2wrapper's Introduction

Wrapper for savage2.bin dedicated server.

* The wrapper launches the savage2 binary as dedicated server, establishes a connection between the binary and the wrapper.
  - Wrapper monitors if the server is up, may it have died the wrapper relaunches it.

* The wrapper has a telnet interface as proof of concept. (default listening on port 4242)
  - The telnet interface will display the server console
  - has a input functionality to perform commands and see output.


* May the wrapper be exitted the savage2 dedicated server will run as normal.


* Plugins
	"Plugins run in an instance, so you can store data and make applications on the savage2.bin binary, like autoshuffle."
	- currently controllable by stdin interface
	  - Commands:
		plugins rediscover (loads new plugins when placed in /plugins/
        	plugins list (discovered plugins)
		>  Returns a list of Plugin Names
		plugins enable <name> (enable discovered plugin)
		plugins disable <name> (enable discovered plugin)
		plugins reload <name> (reloads discovered plugin)

        - ConsolePlugin(ConsoleParser)
        * Inherits callbacks from the ConsoleParser


	Directory relative of this file /plugins/
	 TestPlugin.py
	   class TestPlugin(ConsolePlugin)
  	      def onReceivedAccountId (self, *args, **kwargs):
		// do stuff

* Library

 - (Base)ConsoleParser
	onReceivedAccountId (client_id , account_id)
	onConnect (idx , client_id, ip, port)
	onSetName (idx, nickname)
	onTeamChange (nickname, team)
	onMessage (channel[All,Team 1, Team 2], message)
	onServerStatus (map, timestamp, client_num, disconnect_num, entries, snapshots)
	onServerStatusResponse (map, timestamp, client_num, disconnect_num, entries, snapshots)
	onDisconnect (idx)
	onConnected (name)
	onPlayerReady (idx)
	onNewGame ()

* For example purposes:
 - TestParser(ConsoleParser)
   - onReceivedAccountId (client_id , account_id)
     * Retrieves the SF of a player from the account_id from the savage2 website. (useful for auto balance)
       
;D

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.