michael-bailey
3dfa71a7b1
added docker files and automated build scripts
2023-11-25 20:54:05 +00:00
michael-bailey
20b1398d13
Merge branch 'feature/disconnection-fix' into develop
2023-01-25 23:31:33 +00:00
michael-bailey
e0dfdd118e
removed the read loop, and replaced it with a recurrent messages.
2023-01-25 23:30:52 +00:00
michael-bailey
9e4bcfeb27
accedentally ran cargo fmt instead of on one file
2023-01-25 16:46:49 +00:00
michael-bailey
c8246f5c86
refactored connection initiator into spereate files
2023-01-21 10:15:50 +00:00
michael-bailey
59568570ff
making moe things weak repferences
2023-01-21 10:07:41 +00:00
michael-bailey
93c7851edd
fixing lints
2023-01-19 21:27:14 +00:00
michael-bailey
4381311fe3
removing strong references from scriping managers
2023-01-19 21:24:40 +00:00
michael-bailey
c1616ce11f
turned ref into weak ref
2023-01-18 17:20:49 +00:00
michael-bailey
f81246e1fa
turned some references into weak variaties, to prevent memory leaks.
2023-01-15 11:16:39 +00:00
michael-bailey
c79da5c893
fixed not implemented panic, and field misnaming
2022-09-28 17:21:37 +01:00
michael-bailey
0fb618d5c1
Fixed messages being sent to sender
2022-09-28 17:21:37 +01:00
michael-bailey
42677d71b5
refactored message into foundation, added get message support for clients
2022-09-28 17:21:37 +01:00
michael-bailey
db4af038d7
resolved warning in connection
2022-09-28 17:21:37 +01:00
michael-bailey
d9a6719162
refactord network manager module name
2022-09-28 17:21:37 +01:00
michael-bailey
5e087604e5
refactored messages and added new message types
2022-09-28 17:21:37 +01:00
michael-bailey
7714938c6b
refactord client code
2022-09-28 17:21:37 +01:00
michael-bailey
962fb5bb5c
added debug messages
2022-09-28 17:21:37 +01:00
michael-bailey
89b420ee42
refixed network manager (again again)
2022-09-28 17:21:37 +01:00
michael-bailey
1541020968
added global message spport to client manager
2022-09-28 17:21:37 +01:00
michael-bailey
4717861f65
created chat manager and added it to the client manager
2022-09-28 17:21:37 +01:00
michael-bailey
12ebbc9bd5
uhh... changes and formatting
2022-09-28 17:21:37 +01:00
michael-bailey
cefcb81af6
moved arg parser to folder as file
2022-09-15 17:58:46 +01:00
michael-bailey
20cacf15c2
undone previous change
2022-09-15 17:49:33 +01:00
michael-bailey
d3bdc6dbb3
fixed client cargo toml
2022-09-15 17:44:43 +01:00
michael-bailey
16fc6fa243
updated client uuid version
2022-09-15 08:29:31 +01:00
michael-bailey
32ea5eec71
Merge branch 'feature/cleanup' into develop
2022-09-15 08:28:03 +01:00
michael-bailey
065e16964f
cleaned up scriptable interfaces
2022-09-15 08:25:35 +01:00
michael-bailey
22fcdae11a
cleaned up client actor
2022-09-15 08:24:59 +01:00
michael-bailey
fa8124027c
cleaned up client manager
2022-09-15 08:22:57 +01:00
michael-bailey
bf711f8b95
cleaned up config manager
2022-09-15 08:19:54 +01:00
michael-bailey
1226fafe2c
cleaned up rhai manager
2022-09-15 08:18:30 +01:00
michael-bailey
cf29c2c50d
cleaned up lua manager
2022-09-15 08:15:56 +01:00
michael-bailey
7c445e4ed3
cleaned up connection actor
2022-09-15 08:14:08 +01:00
michael-bailey
f5d253eb94
cleaned up connection initator
2022-09-15 08:12:07 +01:00
michael-bailey
71fa54c221
cleaned up network listener
2022-09-15 08:11:07 +01:00
michael-bailey
bb8d8aa3b4
cleaned up prelude linting errors
2022-09-15 08:09:58 +01:00
michael-bailey
ecbc3aafb6
Merge branch 'feature/configuration-support' into develop
2022-09-15 08:06:01 +01:00
michael-bailey
f4d2148dfa
updated server and network manager to new style for setting config values
2022-09-15 08:02:10 +01:00
michael-bailey
5719bf98dd
updated config manager api to use optionals. This leads to pre-configuration and easier readability and understanding.
2022-09-14 08:45:49 +01:00
michael-bailey
ccbc680c0e
performed cleanup of server
2022-09-14 08:27:29 +01:00
michael-bailey
a31aa95d2b
performed cleanup of network manager
2022-09-14 08:22:19 +01:00
michael-bailey
14a8ed4dac
added config manager support to server and removed old serverConfig references
2022-09-14 08:19:08 +01:00
michael-bailey
8c167ad603
added configuration through args support to config manager and network manager.
2022-09-13 17:47:37 +01:00
michael-bailey
950ee1919b
removed redundant handlers
2022-09-12 12:09:56 +01:00
michael-bailey
4e5620cf82
added config support to network manager, changed lifecycle a bit as well
2022-09-10 23:09:16 +01:00
michael-bailey
a090f8a65a
updated some docs
2022-09-07 16:12:16 +01:00
michael-bailey
db5fd82e1a
added config manager to network manager
2022-09-07 16:11:57 +01:00
michael-bailey
bed482d787
ignoring config_file
2022-09-07 15:49:53 +01:00
michael-bailey
8097f3a89c
fixed panic on file not existing
2022-09-07 15:41:54 +01:00
michael-bailey
81f94e2a69
removed bootstrapper and created config builder
2022-09-07 15:40:11 +01:00
michael-bailey
4bfaf1a813
created singleton config manager using once pattern.
2022-09-06 18:05:04 +01:00
michael-bailey
31d67889ff
moved arg matcher funtion.
2022-09-06 18:03:23 +01:00
michael-bailey
2eaa05f1be
added bootstrapper actor
2022-09-03 08:02:38 +01:00
michael-bailey
dd8faef275
fixed network manager message result types
2022-09-03 08:01:56 +01:00
michael-bailey
9e91e1aa0a
Created config manager with path read functionality
2022-09-01 08:38:40 +01:00
michael-bailey
fe960a2018
Merge branch 'feature/lua-support' into develop
2022-07-04 08:30:27 +01:00
michael-bailey
83316268b9
added more scriptable objects
2022-07-04 08:29:17 +01:00
michael-bailey
51cea3523e
made client manager and clients scriptable
2022-07-01 00:43:13 +01:00
michael-bailey
ff067f8e4b
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
2022-06-30 08:08:48 +01:00
michael-bailey
302ad68547
Merge branch 'feature/command-line-args' into develop
2022-06-23 19:25:48 +02:00
michael-bailey
808c330a3e
added port configurability
...
~ moved components to seperate modules
~ added builder and config to network manager
2022-06-22 23:38:44 +02:00
michael-bailey
715f6c1c4c
made server configurable
2022-06-21 23:54:59 +02:00
michael-bailey
47092844c4
updated clap
2022-06-20 09:31:26 +02:00
michael-bailey
224bdbc23a
Update client.rs
...
minor bug fixes
2022-06-17 08:54:18 +02:00
michael-bailey
306526e1c2
Merge branch 'feature/actix' into develop
2022-06-16 20:05:52 +02:00
michael-bailey
a87453e6e0
added proper prelude
2022-06-16 20:05:10 +02:00
michael-bailey
7e06d90d18
renamed serverActor to server
2022-06-15 18:32:52 +02:00
michael-bailey
58df6bc7a8
renamed old files
2022-06-15 18:32:04 +02:00
michael-bailey
1d90e480be
reformatted project
2022-06-15 18:20:57 +02:00
michael-bailey
b45fd9a130
renamed files to match std structure
2022-06-15 18:20:38 +02:00
michael-bailey
eb8a512c04
deleted old server version
2022-06-15 18:15:15 +02:00
michael-bailey
d0c50366aa
added basic messaging functonality
2022-06-15 18:11:30 +02:00
michael-bailey
d8b0884014
added ability to get server updates
2022-06-14 17:57:01 +02:00
michael-bailey
7f77eebc77
Update actix_server.rs
...
+ added ClientConnection handlers
2022-06-14 17:56:47 +02:00
michael-bailey
6b6a86168e
added auto connection closing to Connection
2022-06-14 17:56:00 +02:00
michael-bailey
3729aa3b02
Update Cargo.toml
...
+ added tokio stream
2022-06-14 17:53:08 +02:00
michael-bailey
cf16991f01
updated foundation with comments and better messages
2022-06-14 17:52:56 +02:00
michael-bailey
f22e00e54a
added ability to add and remove clients
2022-06-11 23:20:11 +01:00
michael-bailey
d7c47f3b3b
implementing clients using actors
2022-06-09 08:14:00 +01:00
michael-bailey
63181ec9b5
implemented GetInfo for actix server
2022-05-30 08:57:57 +01:00
michael-bailey
7871e8d6a6
Started work on actor conversion
2022-05-20 17:48:32 +01:00
michael-bailey
0624b568f9
RIGHT I'M MOVING TO ACTIX
2022-05-09 23:15:38 +01:00
michael-bailey
44e20b6ca1
made plugin event generic
2022-05-09 23:15:21 +01:00
michael-bailey
11fbf1db00
same because vscode?
2022-05-09 23:14:32 +01:00
michael-bailey
0c919f059d
updated plugin event handler.
2022-05-09 23:12:52 +01:00
michael-bailey
68475abc76
added basic plugin event propogation.
2022-05-09 23:12:52 +01:00
michael-bailey
ca058849cb
made responder generic
2022-05-09 23:12:52 +01:00
michael-bailey
ec29b0554a
made event generic
2022-05-09 23:12:52 +01:00
michael-bailey
8ce9152aa8
more module mess
2022-05-09 23:12:52 +01:00
michael-bailey
9f88a81c2a
added functions for IResponder
2022-05-09 23:12:52 +01:00
michael-bailey
0f159a2d59
modified visibility
2022-05-09 23:12:52 +01:00
michael-bailey
f324867f33
added back tokio to foundation
2022-05-09 23:12:52 +01:00
michael-bailey
8e834cc91d
moved event system to foundation
2022-05-09 23:12:52 +01:00
michael-bailey
21b8337500
updated example with interface setting
2022-05-09 23:12:52 +01:00
michael-bailey
785ba57b40
renamed responder
2022-05-09 23:12:52 +01:00
michael-bailey
04aef9cd9f
created a event result builder
2022-05-09 23:12:52 +01:00
michael-bailey
fc12e8f608
added documention
2022-05-09 23:12:52 +01:00
michael-bailey
403ba73bbb
renamed responder module
2022-05-09 23:12:52 +01:00
michael-bailey
05851f0aae
updated event architecture
2022-05-09 23:12:52 +01:00
michael-bailey
8058c672e8
fixing linting errors
2022-05-09 23:12:52 +01:00
michael-bailey
d70aa28f17
updated plugin example
2022-05-09 23:12:52 +01:00
michael-bailey
dcd18c6b7c
added function to get plugin entry as interface to plugin
2022-05-09 23:12:52 +01:00
michael-bailey
8ac3a51aa7
updated imports.
2022-05-09 23:12:34 +01:00
michael-bailey
447f8c3169
added basics of an event system
2022-05-09 23:12:20 +01:00
michael-bailey
3631b30867
Adjusted visibility modifiers
2022-05-09 23:12:04 +01:00
michael-bailey
8dd22730b7
Added plugin lifecycle events
...
added lifecycle events to the plugin entry.
This allows plugins to be in a stopped paused or running state
2022-05-09 23:11:27 +01:00
michael-bailey
c3c7d2a381
Fixed plugin not functioning with tokio
2022-05-09 23:11:27 +01:00
michael-bailey
41e9ae1056
minor fix
2022-05-09 23:10:39 +01:00
michael-bailey
2595622b37
fixoing formatting and ther errors. This is a pain to look through. i'm sorry :(
2022-05-09 23:09:38 +01:00
michael-bailey
c33cd7c9a1
upadted rust fmt rules for imports
2022-05-09 23:09:38 +01:00
michael-bailey
ea22fa0cfe
updated module definitions
2022-05-09 23:09:38 +01:00
michael-bailey
cd19788959
updated plugin trait implementation
2022-05-09 23:09:38 +01:00
michael-bailey
f2be134720
fixed cloning issues with plugin manager
2022-05-09 23:08:48 +01:00
michael-bailey
3ada0ce5a8
cleaned up lib folder
2022-05-09 23:08:48 +01:00
michael-bailey
9c13021a16
updated example plugin
2022-05-09 23:08:48 +01:00
michael-bailey
d58a088fe8
updated plugin init process
2022-05-09 23:08:48 +01:00
michael-bailey
cac3a161ef
created plugin interface
2022-05-09 23:08:48 +01:00
michael-bailey
80bd281cd8
updated plagin interface
2022-05-09 23:08:48 +01:00
michael-bailey
4f8b4ba13c
updated example plugin
2022-05-09 23:07:33 +01:00
michael-bailey
0dcdbf8938
modified plugin module visibility
2022-05-09 23:07:33 +01:00
michael-bailey
83c8a6c2b7
added plugin manager to server
2022-05-09 23:07:33 +01:00
michael-bailey
be847e39b7
Updated example plugin
2022-05-09 23:06:54 +01:00
michael-bailey
df25a3e462
added modules
2022-05-09 23:06:54 +01:00
michael-bailey
40a27e5c01
Added plugin manager to server
2022-05-09 23:06:54 +01:00
michael-bailey
9e4b7c316f
created basic PluginManager
2022-05-09 23:06:54 +01:00
michael-bailey
bb2e167ef1
Created plugin trait and create function type
2022-05-09 23:06:54 +01:00
michael-bailey
3e15195b0f
Added libloading dependency
2022-05-09 23:06:54 +01:00
michael-bailey
5746163123
Created example plugin crate
2022-05-09 23:06:54 +01:00
michael-bailey
e833fa347c
added arbitrary self types
2022-05-09 23:06:54 +01:00
michael-bailey
89d673b32f
moved Lua structs to separate module
2022-05-09 23:06:54 +01:00
michael-bailey
6ebdb441e1
added basic callback support to ClientManager
2022-05-09 23:06:54 +01:00
michael-bailey
b29d055aa1
added client indexing to client manager
2022-05-09 23:06:54 +01:00
michael-bailey
5bf1d260ce
Updated testing script
2022-05-09 23:06:54 +01:00
michael-bailey
eb3c202a4e
Adde fields to server to get client manager
2022-05-09 23:06:54 +01:00
michael-bailey
43cafc2c4d
Made client manager Lua scriptable
2022-05-09 23:06:54 +01:00
michael-bailey
0681f2ea65
made client Lua scriptable
2022-05-09 23:06:54 +01:00
michael-bailey
b33db558e7
Update client.rs
...
fixed stray connection
2022-05-09 23:06:54 +01:00
michael-bailey
4cf7cb5cde
added basic scripting abilities to the server
2022-05-09 23:06:54 +01:00
michael-bailey
57d8cd920b
Made server, Lua scriptable.
2022-05-09 23:06:54 +01:00
michael-bailey
62f4803d80
Added Lua dependency
2022-05-09 23:06:54 +01:00
michael-bailey
77bf1e0e25
Merge branch 'feature/iced-client' into develop
2022-03-02 17:06:31 +00:00
michael-bailey
90d8ead026
Update client.rs
...
added tokio, to protect client connections.
2022-03-01 22:57:47 +00:00
michael-bailey
2783c381e0
implemented message sending between users
2022-03-01 21:06:55 +00:00
michael-bailey
e0b65fb520
Update network_manager.rs
...
this protects the network manager from crashing when a erroneous message is sent
2022-03-01 20:51:56 +00:00
michael-bailey
8f100c0f1c
Added the ability to disconnect from the server
2022-03-01 20:12:21 +00:00
michael-bailey
01da5afb46
Update client.rs
...
added global broadcasting
2022-03-01 19:58:33 +00:00
michael-bailey
9f83b99bbf
Update client.rs
...
- removed redundant fields
2022-03-01 19:43:02 +00:00
michael-bailey
8f0b502487
cleared up warnings
2022-03-01 19:35:59 +00:00
michael-bailey
e3c1f12be5
Added Message Broadcasting functionality
2022-03-01 17:52:18 +00:00
michael-bailey
086210fbd9
Update client_manager.rs
...
bunch more changes
yes i know i'm rubbish at this plz don't say anything :(
2022-03-01 17:30:45 +00:00
michael-bailey
2c71ca56c6
Update server.rs
...
- removed redundant messages
2022-03-01 17:27:35 +00:00
michael-bailey
26383d4031
moved some messages around
2022-03-01 13:34:33 +00:00
michael-bailey
685f1c7f18
Update messages.rs
...
formatting
2022-03-01 11:44:20 +00:00
michael-bailey
7b148e9b6e
Update client.rs
...
meant to add this earlier
2022-03-01 11:44:11 +00:00
michael-bailey
0e45c4e803
Update server.rs
...
- refactored server to simplify message passing
2022-03-01 11:43:35 +00:00
michael-bailey
7e920c25c1
Update client_manager.rs
...
+ created function to add/remove clients to the client manager.
2022-02-28 20:42:15 +00:00
michael-bailey
cfe72b6c7b
Update client_manager.rs
...
+ created function to get the number of connected clients
2022-02-28 18:13:27 +00:00
michael-bailey
2e74aa058f
Update client_manager.rs
...
+ updated lifetime bounds.
2022-02-28 17:50:59 +00:00
michael-bailey
294edc4df3
Update client_manager.rs
...
- implemented handle channel method from old start method.
- added notes to possible issues.
2022-02-28 17:48:15 +00:00
michael-bailey
9512b82cd0
Update client_manager.rs
...
- Added type arguments to Client manager
- deprecated start method
2022-02-28 17:47:08 +00:00
michael-bailey
ff85d1c28b
Update client_manager.rs
...
swapped lock type for tokio lock
2022-02-28 17:45:57 +00:00
michael-bailey
77f4bf5f08
Stripped server of functinoality
...
This is temporary whilst the client manager is being tested.
2022-02-28 17:45:39 +00:00
michael-bailey
140afe1a4a
Added client manager tests
2022-02-26 17:12:55 +00:00
michael-bailey
d77d7f20a0
Impl IManager for ClientManager
2022-02-26 17:12:41 +00:00
michael-bailey
8197231401
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.
2022-02-26 09:21:41 +00:00
michael-bailey
ccd0cb1c5e
meant to add this earlier
2022-02-25 21:17:56 +00:00
michael-bailey
d904e83f14
Update network_manager.rs
...
Converted over to new messaging system.
2022-02-25 21:10:24 +00:00
michael-bailey
bed642a31d
added network Manager
...
tl;dr, as the title says
2022-02-19 00:53:18 +00:00
michael-bailey
8e519c5fa0
updated connection
...
+ added manager trait
+ updated connection to use more idomatic rust code converted enums to Strigns rather that &str
+
2022-02-19 00:52:45 +00:00
michael-bailey
31a25c2f20
exposed server as lib
...
+created lib output for server
+ added extra dependencies
+ added functions to retrieve the port of a server
2022-02-19 00:51:32 +00:00
michael-bailey
ec2b16c10a
Created connection abstraction
...
This abstracts a TcpStream await to use any serialisable types.
2022-02-06 14:07:52 +00:00
michael-bailey
8e78bf542c
created basic ui that counts
2022-02-04 22:22:59 +00:00
michael-bailey
d320f345c8
Created global message support
2022-02-01 20:51:04 +00:00
michael-bailey
14495e1b27
Moved threads to tokio async
2021-08-03 21:58:18 +01:00
michael-bailey
2f8677710a
Moved threads to tokio async
2021-08-03 21:58:18 +01:00
michael-bailey
0ed2c5a290
added encryption example
2021-07-10 14:03:06 +01:00
michael-bailey
8ebfbb0a70
changed messaegs to include a type property
2021-07-10 14:02:04 +01:00
michael-bailey
614e73b788
replaced duplicate fields
2021-04-25 14:28:39 +01:00
michael-bailey
137ef3d3b1
Adding public key storage
2021-04-23 22:28:32 +00:00
michael-bailey
71b77de447
adding user update support
2021-04-22 12:56:53 +00:00