Jonathan Barrow
7462a7f43f
Added FindClientFromPID
2021-10-28 09:06:21 -04:00
SuperMarioDaBom
8fafab3fb1
Merge pull request #12 from shutterbug2000/master
...
Changes for MK7
2021-10-21 16:09:50 -07:00
shutterbug2000
74456b629b
ReadBool for StreamIn
2021-10-15 09:23:26 +01:00
shutterbug2000
202a288ecd
Changes for MK7
2021-10-13 20:38:44 +01:00
Jonathan Barrow
c0354ef79e
added WriteListQBuffer
2021-10-03 02:59:47 -04:00
Jonathan Barrow
44a7a69ac5
ReadListQBuffer
2021-10-01 21:35:01 -04:00
Jonathan Barrow
24a4f22d93
use fragmentID
2021-09-29 19:16:38 -04:00
Jonathan Barrow
b7a12dac4e
Added RMC error mask check
2021-09-28 19:14:53 -04:00
Jonathan Barrow
1f688c3d95
PID is uint32
2021-09-12 20:57:57 -04:00
Jonathan Barrow
97e779088e
Added PID methods to NEX client
2021-09-06 21:45:48 -04:00
Jonathan Barrow
a32b6bbebb
Added Result type
2021-09-05 08:28:55 -04:00
Jonathan Barrow
fafb1caeb4
Added WriteQBuffer
2021-09-05 08:28:47 -04:00
Jonathan Barrow
186a048e25
Changed CONN packet connection sig
2021-08-22 18:31:28 -04:00
Jonathan Barrow
2596545e51
Fixed WriteBuffer and added WriteListString
2021-08-22 18:31:01 -04:00
Jonathan Barrow
3cc36373a6
Added StreamIn.ReadListString
2021-08-22 18:30:20 -04:00
Jonathan Barrow
caecee00e9
removed commented code and whitespace
2021-08-22 18:29:58 -04:00
Jonathan Barrow
318e881bf3
Added ResultRange type
2021-08-22 18:29:09 -04:00
Jonathan Barrow
8c59df405c
Merge pull request #11 from SuperMarioDaBom/master
...
Added missing getters and setters for the StationURL struct.
2020-05-01 11:15:09 -04:00
SuperMarioDaBom
40f1e3a170
Added missing getters and setters for the StationURL struct.
2020-04-28 11:53:06 -07:00
Jonathan Barrow
1f152b8a67
Merge pull request #10 from SuperMarioDaBom/master
...
Add normal V0 packet signature handling.
2020-04-24 13:47:35 -04:00
SuperMarioDaBom
f997319f56
Add normal V0 packet signature handling.
...
Note that this has been tested, but not incredibly thoroughly.
2020-04-23 13:01:45 -07:00
Jonathan Barrow
25e1297b17
Add variant reading and basic map reading
...
Added reading of variant types and just enough of the map type to get read MatchmakeParam
2020-04-20 19:34:00 -04:00
Jonathan Barrow
2c77b483c9
Exported stream server
2020-04-19 22:54:47 -04:00
Jonathan Barrow
f78cd960d8
Changed getters to be more Go-like
...
Removed "Get" prefix from getters to conform to effective Go standards
2020-04-19 21:40:04 -04:00
Jonathan Barrow
49762a9957
Renamed nexMinorVersion
...
Renamed nexMinorVersion since NEX versions are more specific in reality
2020-04-19 21:32:02 -04:00
Jonathan Barrow
3469a4893a
Moved unreachable code
2020-04-19 12:01:43 -04:00
Jonathan Barrow
7eb473a621
Added data check to RMC response
...
Some nex methods return no data
2020-04-19 12:01:13 -04:00
Jonathan Barrow
f90728baa9
Revert "remove usage of reflect. improve efficiency. don't use abstracted methods internally. add go module support"
...
This reverts commit 75511a1ecb
.
2020-04-17 13:16:03 -04:00
superwhiskers
75511a1ecb
remove usage of reflect. improve efficiency. don't use abstracted methods internally. add go module support
2020-04-06 20:42:26 -05:00
Jonathan Barrow
420de12c89
Update stream_out.go
2020-03-22 13:20:41 -04:00
Jonathan Barrow
9498401f0f
Added Value method to DateTime
...
Added a method to DateTime to get the stored value
2020-03-17 21:44:39 -04:00
Jonathan Barrow
4021d2c32f
Added basic list reading/writing support to streams
...
Streams now have basic methods for reading and writing lists of all number types as well as writing a list of Structure types. Reading Structure types is currently done by the protocol lib where those types are defined
2020-03-17 21:44:07 -04:00
Jonathan Barrow
db9e11b15c
fixed type issues and extra Grow call
...
Fixed some typing issues and removed an extra Grow call which broke packet encoding
2020-02-16 18:30:10 -05:00
Jonathan Barrow
122938e712
Change StreamIn method names to match StreamOut
...
Streams are not an abstraction rather than an extension of crunch, so we now use our own naming convention
2020-02-16 17:43:59 -05:00
Jonathan Barrow
1d690de84d
New StreamOut API
...
StreamOut now has an abstraction layer to clean up some method calls from crunch
2020-02-16 17:42:03 -05:00
Jonathan Barrow
667f4a07e9
New StreamIn API
...
StreamIn now has an abstraction layer to clean up some method calls from crunch
2020-02-16 17:18:17 -05:00
Jonathan Barrow
14a29f1b5c
Added missing export comments
2020-02-16 16:59:47 -05:00
Jonathan Barrow
e1d1dfe90a
Removed broken pings and fixed client state reuse
...
Ping packets were never being sent from the server. This is now fixed. Also removed the buggy StartPing loop, which never worked due to struct properties not being updated in different goroutine threads. Ping packets now get sent from the server whenever one is sent from the client
Client states were also being reused when a connection was made with an existing port on the same console, which broke NNID switching. Client states now get reset when connections begin
2020-02-16 16:48:54 -05:00
Jonathan Barrow
5bfbd6ee09
Made server more concurrent
...
Server should now be able to handle concurrent connections from more clients
2020-01-31 23:18:26 -05:00
Jonathan Barrow
82c62bc806
Added ping timeout check
2020-01-31 13:08:37 -05:00
Jonathan Barrow
c124c9a204
Added Kick method to server and disconnect kicking
2020-01-31 03:28:06 -05:00
Jonathan Barrow
17208659c4
Error handling and data validation
...
Now validates data before passing it to crunch in order to avoid buffer read/write out of bounds panics. This API update is breaking and all code using it will need to be updated
2020-01-31 02:50:23 -05:00
Jonathan Barrow
ca8b98c807
bump crunch version
2020-01-29 18:18:28 -05:00
Jonathan Barrow
70daceae50
updated structures to take in StreamOut in Bytes
...
Structure.Bytes() now requires an instance of StreamOut. This is so any Structures who contain properties which are also Structures can be passed the same stream during their encoding process and retain the stream content/settings
2020-01-27 15:10:44 -05:00
Jonathan Barrow
8ab25b0f16
new stream implementation and Structure type handling
...
Split the Stream struct into 2 separate stream types for clearer intent. Also now pass them a reference to the server pointer to access server config (namely the NEX minor version)
Structure NEX types are now being implemented (a push to nex-protocols-go will follow shortly). However the implementation is pretty jank and could use some work. Currently uses emulated inheritance
2020-01-26 21:38:33 -05:00
Jonathan Barrow
11bd735033
PRUDPv1 and goroutines
...
Added goroutines to packet handlers and added just enough of PRUDPv1 to get Super Mario Maker connecting
2020-01-24 18:14:04 -05:00
Jonathan Barrow
f75b44113a
Added qBuffer read support to stream
2020-01-19 16:14:44 -05:00
Jonathan Barrow
d8804c76f9
Update rmc.go
2020-01-18 23:36:52 -05:00
Jonathan Barrow
7713999b7a
removed debug field and added missing godoc comments
2020-01-17 12:57:30 -05:00
Jonathan Barrow
8e489e4165
Complete rewrite
2020-01-17 12:42:59 -05:00