* added protocol crate for the program, also removed unused crates
* remove client code
* removed example plugin
* cleaned up foundation, added protocol crate to it
* removed lua scripts
* removed server ctl
* migrated tp prost instead of protobuf crate
* removed scripting code
* moved protocol crate to foundation, created helper functions for encoding and decoding
* Createde Cursive client for testing protocol stuff
* added docs?
* overriding server to remove actix, and simplify design
* linting the server
* moved network message handling into NetworkConnection struct
* linting
* cleaning up prints
* writing better log messages
* added better debug messages
* purged all axtix modules, to be replaced with new components
* ok, so i kind of got carried away here with the server and client.
But essentially, the server has been rewritten to follow protobug up untill the point of connecting a client.
the client can fetch info from the server, but cannot initiate a request to connect.
I am weorkibng on both in tandem, and there will be losts of big commits :D
* removing client stuff again, cause it's not going well
* added client networking structs to the foundation crate
* moved client stuff into foundation.
* created Json structures
* created protobuf structures
* revamped the connection and protocolm structure to allow addition of other protocols
* fixed issue with erronious request input from clients
* removed select statements
* Updated logging messages
* added protocol crate for the program, also removed unused crates
* remove client code
* removed example plugin
* cleaned up foundation, added protocol crate to it
* removed lua scripts
* removed server ctl
* migrated tp prost instead of protobuf crate
* removed scripting code
* moved protocol crate to foundation, created helper functions for encoding and decoding
* Createde Cursive client for testing protocol stuff
* added docs?
* overriding server to remove actix, and simplify design
* linting the server
* moved network message handling into NetworkConnection struct
* linting
* cleaning up prints
* writing better log messages
* added better debug messages
* purged all axtix modules, to be replaced with new components
* ok, so i kind of got carried away here with the server and client.
But essentially, the server has been rewritten to follow protobug up untill the point of connecting a client.
the client can fetch info from the server, but cannot initiate a request to connect.
I am weorkibng on both in tandem, and there will be losts of big commits :D
* removing client stuff again, cause it's not going well
* added client networking structs to the foundation crate
* moved client stuff into foundation.
* created Json structures
* created protobuf structures
* revamped the connection and protocolm structure to allow addition of other protocols
* fixed issue with erronious request input from clients
* removed select statements
* adding user update support
* Adding public key storage
* replaced duplicate fields
* changed messaegs to include a type property
* added encryption example
* Moved threads to tokio async
* Moved threads to tokio async
* Created global message support
* created basic ui that counts
* Created connection abstraction
This abstracts a TcpStream await to use any serialisable types.
* exposed server as lib
+created lib output for server
+ added extra dependencies
+ added functions to retrieve the port of a server
* updated connection
+ added manager trait
+ updated connection to use more idomatic rust code converted enums to Strigns rather that &str
+
* added network Manager
tl;dr, as the title says
* Update network_manager.rs
Converted over to new messaging system.
* meant to add this earlier
* Right bare with me...
This doesnt work for now but i have a system that works.
After this commit i will be resuming the smaller changes.
I needed to do this to find a new approach.
God save my mind.
* Impl IManager for ClientManager
* Added client manager tests
* Stripped server of functinoality
This is temporary whilst the client manager is being tested.
* Update client_manager.rs
swapped lock type for tokio lock
* Update client_manager.rs
- Added type arguments to Client manager
- deprecated start method
* Update client_manager.rs
- implemented handle channel method from old start method.
- added notes to possible issues.
* Update client_manager.rs
+ updated lifetime bounds.
* Update client_manager.rs
+ created function to get the number of connected clients
* Update client_manager.rs
+ created function to add/remove clients to the client manager.
* Update server.rs
- refactored server to simplify message passing
* Update client.rs
meant to add this earlier
* Update messages.rs
formatting
* moved some messages around
* Update server.rs
- removed redundant messages
* Update client_manager.rs
bunch more changes
yes i know i'm rubbish at this plz don't say anything :(
* Added Message Broadcasting functionality
* cleared up warnings
* Update client.rs
- removed redundant fields
* Update client.rs
added global broadcasting
* Added the ability to disconnect from the server
* Update network_manager.rs
this protects the network manager from crashing when a erroneous message is sent
* implemented message sending between users
* Update client.rs
added tokio, to protect client connections.
* Added Lua dependency
* Made server, Lua scriptable.
* added basic scripting abilities to the server
* Update client.rs
fixed stray connection
* made client Lua scriptable
* Made client manager Lua scriptable
* Adde fields to server to get client manager
* Updated testing script
* added client indexing to client manager
* added basic callback support to ClientManager
* moved Lua structs to separate module
* added arbitrary self types
* Created example plugin crate
* Added libloading dependency
* Created plugin trait and create function type
* created basic PluginManager
* Added plugin manager to server
* added modules
* Updated example plugin
* added plugin manager to server
* modified plugin module visibility
* updated example plugin
* updated plagin interface
* created plugin interface
* updated plugin init process
* updated example plugin
* cleaned up lib folder
* fixed cloning issues with plugin manager
* updated plugin trait implementation
* updated module definitions
* upadted rust fmt rules for imports
* fixoing formatting and ther errors. This is a pain to look through. i'm sorry :(
* minor fix
* Fixed plugin not functioning with tokio
* Added plugin lifecycle events
added lifecycle events to the plugin entry.
This allows plugins to be in a stopped paused or running state
* Adjusted visibility modifiers
* added basics of an event system
* updated imports.
* added function to get plugin entry as interface to plugin
* updated plugin example
* fixing linting errors
* updated event architecture
* renamed responder module
* added documention
* created a event result builder
* renamed responder
* updated example with interface setting
* moved event system to foundation
* added back tokio to foundation
* modified visibility
* added functions for IResponder
* more module mess
* made event generic
* made responder generic
* added basic plugin event propogation.
* updated plugin event handler.
* same because vscode?
* made plugin event generic
* RIGHT I'M MOVING TO ACTIX
* Started work on actor conversion
* implemented GetInfo for actix server
* implementing clients using actors
* added ability to add and remove clients
* updated foundation with comments and better messages
* Update Cargo.toml
+ added tokio stream
* added auto connection closing to Connection
* Update actix_server.rs
+ added ClientConnection handlers
* added ability to get server updates
* added basic messaging functonality
* deleted old server version
* renamed files to match std structure
* reformatted project
* renamed old files
* renamed serverActor to server
* added proper prelude
* Update client.rs
minor bug fixes
* updated clap
* made server configurable
* added port configurability
~ moved components to seperate modules
~ added builder and config to network manager
* way too much happened here
+ added scriptable version of the server, networkManager and clientManager
+ added lua engine creation
+also added unfinished rhai support
+ also did some restructuring
* made client manager and clients scriptable
* added more scriptable objects
* Created config manager with path read functionality
* fixed network manager message result types
* added bootstrapper actor
* moved arg matcher funtion.
* created singleton config manager using once pattern.
* removed bootstrapper and created config builder
* fixed panic on file not existing
* ignoring config_file
* added config manager to network manager
* updated some docs
* added config support to network manager, changed lifecycle a bit as well
* removed redundant handlers
* added configuration through args support to config manager and network manager.
* added config manager support to server and removed old serverConfig references
* performed cleanup of network manager
* performed cleanup of server
* updated config manager api to use optionals. This leads to pre-configuration and easier readability and understanding.
* updated server and network manager to new style for setting config values
* cleaned up prelude linting errors
* cleaned up network listener
* cleaned up connection initator
* cleaned up connection actor
* cleaned up lua manager
* cleaned up rhai manager
* cleaned up config manager
* cleaned up client manager
* cleaned up client actor
* cleaned up scriptable interfaces
* updated client uuid version
* fixed client cargo toml
* undone previous change
* moved arg parser to folder as file
* uhh... changes and formatting
* created chat manager and added it to the client manager
* added global message spport to client manager
* refixed network manager (again again)
* added debug messages
* refactord client code
* refactored messages and added new message types
* refactord network manager module name
* resolved warning in connection
* refactored message into foundation, added get message support for clients
* Fixed messages being sent to sender
* fixed not implemented panic, and field misnaming
* turned some references into weak variaties, to prevent memory leaks.
* turned ref into weak ref
* removing strong references from scriping managers
* fixing lints
* making moe things weak repferences
* refactored connection initiator into spereate files
* accedentally ran cargo fmt instead of on one file
* removed the read loop, and replaced it with a recurrent messages.
* added docker files and automated build scripts
* Added client updates for addition and removal of clients
* adding user update support
* Adding public key storage
* replaced duplicate fields
* changed messaegs to include a type property
* added encryption example
* Moved threads to tokio async
* Moved threads to tokio async
* Created global message support
* created basic ui that counts
* Created connection abstraction
This abstracts a TcpStream await to use any serialisable types.
* exposed server as lib
+created lib output for server
+ added extra dependencies
+ added functions to retrieve the port of a server
* updated connection
+ added manager trait
+ updated connection to use more idomatic rust code converted enums to Strigns rather that &str
+
* added network Manager
tl;dr, as the title says
* Update network_manager.rs
Converted over to new messaging system.
* meant to add this earlier
* Right bare with me...
This doesnt work for now but i have a system that works.
After this commit i will be resuming the smaller changes.
I needed to do this to find a new approach.
God save my mind.
* Impl IManager for ClientManager
* Added client manager tests
* Stripped server of functinoality
This is temporary whilst the client manager is being tested.
* Update client_manager.rs
swapped lock type for tokio lock
* Update client_manager.rs
- Added type arguments to Client manager
- deprecated start method
* Update client_manager.rs
- implemented handle channel method from old start method.
- added notes to possible issues.
* Update client_manager.rs
+ updated lifetime bounds.
* Update client_manager.rs
+ created function to get the number of connected clients
* Update client_manager.rs
+ created function to add/remove clients to the client manager.
* Update server.rs
- refactored server to simplify message passing
* Update client.rs
meant to add this earlier
* Update messages.rs
formatting
* moved some messages around
* Update server.rs
- removed redundant messages
* Update client_manager.rs
bunch more changes
yes i know i'm rubbish at this plz don't say anything :(
* Added Message Broadcasting functionality
* cleared up warnings
* Update client.rs
- removed redundant fields
* Update client.rs
added global broadcasting
* Added the ability to disconnect from the server
* Update network_manager.rs
this protects the network manager from crashing when a erroneous message is sent
* implemented message sending between users
* Update client.rs
added tokio, to protect client connections.
* Added Lua dependency
* Made server, Lua scriptable.
* added basic scripting abilities to the server
* Update client.rs
fixed stray connection
* made client Lua scriptable
* Made client manager Lua scriptable
* Adde fields to server to get client manager
* Updated testing script
* added client indexing to client manager
* added basic callback support to ClientManager
* moved Lua structs to separate module
* added arbitrary self types
* Created example plugin crate
* Added libloading dependency
* Created plugin trait and create function type
* created basic PluginManager
* Added plugin manager to server
* added modules
* Updated example plugin
* added plugin manager to server
* modified plugin module visibility
* updated example plugin
* updated plagin interface
* created plugin interface
* updated plugin init process
* updated example plugin
* cleaned up lib folder
* fixed cloning issues with plugin manager
* updated plugin trait implementation
* updated module definitions
* upadted rust fmt rules for imports
* fixoing formatting and ther errors. This is a pain to look through. i'm sorry :(
* minor fix
* Fixed plugin not functioning with tokio
* Added plugin lifecycle events
added lifecycle events to the plugin entry.
This allows plugins to be in a stopped paused or running state
* Adjusted visibility modifiers
* added basics of an event system
* updated imports.
* added function to get plugin entry as interface to plugin
* updated plugin example
* fixing linting errors
* updated event architecture
* renamed responder module
* added documention
* created a event result builder
* renamed responder
* updated example with interface setting
* moved event system to foundation
* added back tokio to foundation
* modified visibility
* added functions for IResponder
* more module mess
* made event generic
* made responder generic
* added basic plugin event propogation.
* updated plugin event handler.
* same because vscode?
* made plugin event generic
* RIGHT I'M MOVING TO ACTIX
* Started work on actor conversion
* implemented GetInfo for actix server
* implementing clients using actors
* added ability to add and remove clients
* updated foundation with comments and better messages
* Update Cargo.toml
+ added tokio stream
* added auto connection closing to Connection
* Update actix_server.rs
+ added ClientConnection handlers
* added ability to get server updates
* added basic messaging functonality
* deleted old server version
* renamed files to match std structure
* reformatted project
* renamed old files
* renamed serverActor to server
* added proper prelude
* Update client.rs
minor bug fixes
* updated clap
* made server configurable
* added port configurability
~ moved components to seperate modules
~ added builder and config to network manager
* way too much happened here
+ added scriptable version of the server, networkManager and clientManager
+ added lua engine creation
+also added unfinished rhai support
+ also did some restructuring
* made client manager and clients scriptable
* added more scriptable objects
* Created config manager with path read functionality
* fixed network manager message result types
* added bootstrapper actor
* moved arg matcher funtion.
* created singleton config manager using once pattern.
* removed bootstrapper and created config builder
* fixed panic on file not existing
* ignoring config_file
* added config manager to network manager
* updated some docs
* added config support to network manager, changed lifecycle a bit as well
* removed redundant handlers
* added configuration through args support to config manager and network manager.
* added config manager support to server and removed old serverConfig references
* performed cleanup of network manager
* performed cleanup of server
* updated config manager api to use optionals. This leads to pre-configuration and easier readability and understanding.
* updated server and network manager to new style for setting config values
* cleaned up prelude linting errors
* cleaned up network listener
* cleaned up connection initator
* cleaned up connection actor
* cleaned up lua manager
* cleaned up rhai manager
* cleaned up config manager
* cleaned up client manager
* cleaned up client actor
* cleaned up scriptable interfaces
* updated client uuid version
* fixed client cargo toml
* undone previous change
* moved arg parser to folder as file
* uhh... changes and formatting
* created chat manager and added it to the client manager
* added global message spport to client manager
* refixed network manager (again again)
* added debug messages
* refactord client code
* refactored messages and added new message types
* refactord network manager module name
* resolved warning in connection
* refactored message into foundation, added get message support for clients
* Fixed messages being sent to sender
* fixed not implemented panic, and field misnaming
* turned some references into weak variaties, to prevent memory leaks.
* turned ref into weak ref
* removing strong references from scriping managers
* fixing lints
* making moe things weak repferences
* refactored connection initiator into spereate files
* accedentally ran cargo fmt instead of on one file
* removed the read loop, and replaced it with a recurrent messages.
* added docker files and automated build scripts
* removed redundant files
* moved files to new foundation library
* added new foundation crate
* added new client program crate
* added new server program crate
* added new serverctl program crate
* change toml to be a workspace instead of a project
* implementing more connection to network functionality
* implementing more connection to network functionality
* Implemented IMessageable for client, client manager as well as basic commands in netmgr
* fixing blocking issues with componenets
* adding network stream queuefor handling connections in a non blocking way
* ffixing blocking calls in network manager
* adding threading support to prevent blocking calls
* running rust formatter
* Created Client threads and implemented connect command
* fixed client not disconnecting issue
* adding messaging support between clients
* Implemented client messaging through the server
* removing unnecessary prints and thread delays
* adding support for updating clients