Commit Graph

49 Commits

Author SHA1 Message Date
jtieri 4f2c91d84b init go mod & add ignore files 2021-09-05 19:22:17 -05:00
Justin T 12ca90c707
Merge pull request #1 from jtieri/dev
baseline for Habbo concept in Go
2021-03-02 00:57:40 -06:00
Justin T 06ea3ea5c2 Merge branch 'dev' of https://github.com/jtieri/HabbGo into dev 2020-04-13 11:02:54 -05:00
Justin T 41b28d2f21 eye dee kay
Old commit I had stashed.

I believe I was decoupling some of the dependencies and working on making the design consistent.

Should have free time soon. May refactor the shit out of this or may just start from scratch.
2020-04-13 11:02:47 -05:00
Justin T bbafa6657c
Delete LICENSE 2020-03-29 22:27:10 -05:00
Justin T f968ac1c4c
Update config.yml 2020-01-03 22:43:41 -06:00
Justin T e9e90c138e update main.go
build nav & room service. cleanup ugly string formatting
2020-01-03 22:42:46 -06:00
Justin T 46f8738d1f Update navigator
Progress on the navigator; implemented singleton pattern for service & may use for all services that make sense to have one instance of.  Started the first packets in building navigator
2020-01-03 22:42:11 -06:00
Justin T 639a50fca0 WIP: Basic room design
Began work on modeling of rooms in the server as well as start on its related service/database components.
2020-01-03 22:38:22 -06:00
Justin T 69746e7c92 WIP: Getting basic navigator system started
Building the in-game navigator as well as working on the general design of how services will be called in the server.
2019-12-29 18:04:33 -06:00
Justin T 421727af70 fix base64 decoding
Accidentally broke Base64 decoding in a previous commit.
2019-12-23 15:06:04 -06:00
Justin T d2fd2e663c project refactor
Code cleanup in an effort to make things a bit more uniform accross the server as well as to add documentation and make things a bit easier to navigate
2019-12-23 14:05:56 -06:00
Justin T 7eef06716c packets update
Finished handling a few more packets, small changes to existing packets for handshake/players
2019-12-23 13:27:09 -06:00
Justin T c2b4042a96 Players update & refactor
Updated players design to decouple the service/logic from the model, which was going to cause naming conflicts down the road. Temporary DB stuff for logging players in & loading details/badges.
2019-12-23 13:24:23 -06:00
Justin T 5609861e26 WIP: handling navigator packets
Beginning work on handling client->server packets for the in-game navigator.
2019-12-23 13:10:45 -06:00
Justin T 17c6632b78 update scheduler
Add some headers to the switch and format things a bit so its more maintainable
2019-12-13 01:20:14 -06:00
Justin T d55782213c update config 2019-12-13 01:19:31 -06:00
Justin T 184e663f98 small changes to account for db
Added references to the sql.DB object to Server which passes the reference to new Session instances so that Players have connection to the db. This may change
2019-12-13 01:19:19 -06:00
Justin T bc39ba8cee update main
Update main to initialize connection with the database.  Also, main now has some better output for where the flow of the program is.
2019-12-13 01:17:28 -06:00
Justin T efa4e5396a refactor project structure; protocol
Needed to change the project structure to avoid circular dependencies in the design. Encoding added to protocol package as it made more sense there.
2019-12-13 01:16:05 -06:00
Justin T 502b9078ca WIP: database config & basic queries
Added config options for the various database settings. Working on some basic queries for logging a player in.
2019-12-13 01:13:25 -06:00
Justin T 54dbc6d16e create connection w/ client & listen for data
added the call to send the packet HELLO which initializes the connection between client/server.  Also added the ability to log incoming/outgoing packets.
2019-12-09 21:21:42 -06:00
Justin T 5936ed7370 return outgoing packet as string
adding a method for returning the bytes in an outgoing packets buffer as a string
2019-12-09 21:20:16 -06:00
Justin T 9e36231101 WIP: handle handshake packets
progress on handling the incoming handshake packets. mapping out a lot of crypto packets that i won't implement till later
2019-12-09 21:19:20 -06:00
Justin T cefbaf1489 WIP: handle handshake packets
progress on composing responses to the incoming crypto packets
2019-12-09 21:18:05 -06:00
Justin T 007c2ef415 WIP: handling packets in scheduler
working on handling handshake packets and getting players logged in. this design may change if it gets too unbearable :P
2019-12-09 21:16:11 -06:00
Justin T 6202728fdc update server to have config ref
added a reference to the config struct created in main so that config settings can be obtained throughout the server
2019-12-09 21:14:57 -06:00
Justin T a3142047e5 update main 2019-12-09 21:13:49 -06:00
Justin T 31e7593c0e update player models
updated the model for players to avoid circular dependencies in the project. Network is an interface for a players Session.
2019-12-09 21:13:34 -06:00
Justin T 81a4b2cc1b update config
added config options for logging incoming and outgoing packets for debugging
2019-12-09 21:11:48 -06:00
Justin T 577e82e4a4 refactor incoming/outgoing packets
Updated the incoming & outgoing packets to take account for design changes elsewhere
2019-12-03 21:27:12 -06:00
Justin T 67d9267813 small updates & bug fix
add support for max connections per IP & fix a mutex error I introduced on accident.
2019-12-03 21:24:28 -06:00
Justin T eefb549e2a finish packet parsing & sending
finished the logic for parsing incoming packets. Also corrected/finished the methods for sending outgoing packets to a session
2019-12-03 21:19:27 -06:00
Justin T e704042403 add support for 3 byte slices
Previous implementation didn't support the three byte encoded headers found in incoming packets
2019-12-03 21:14:51 -06:00
Justin T 2e28054c00 update main.go
update
2019-12-03 21:13:18 -06:00
Justin T 5c855bb1c9 config updated
added config option for max connections per IP
2019-12-03 21:12:36 -06:00
Justin T d907c2c7e5 finished design of incoming packets
Finished the design for packets, as well as the means for reading/writing data from/to them.
2019-11-30 00:13:17 -06:00
Justin T b943ce13c0 overhaul of packet parsing & updated sessions
Listen was updated to better parse incoming packets from sessions so that junk data is handled as well as clients disconnecting. Basic means of writing packets to a session were also implemented.
2019-11-30 00:11:13 -06:00
Justin T 94550fd2bb Update vl64.go 2019-11-30 00:07:10 -06:00
Justin T 585e4ae708 update config
updated config to align with changes to the way the server struct was designed
2019-11-30 00:05:42 -06:00
Justin T 3392d310e4 small server fixes
fixed an issue with sessions not being removed from the slice of active connections when they disconnect.
2019-11-30 00:04:55 -06:00
Justin T d341f2dacc main.go
entry point to the application
2019-11-27 01:28:20 -06:00
Justin T 4eebf77ee6 WIP: incoming/outgoing packet design
Started implementing the way incoming packets will be represented. Also implemented some of the read functions that will be needed.
2019-11-27 01:26:36 -06:00
Justin T d1b0d8f87f base64 & vl64 encoding implemented
Added the encoders/decoders for FUSE-Base64 & VL64. Shout out to Puomi Wiki for their examples, some of my comments in code are straight from there.
2019-11-27 01:22:36 -06:00
Justin T 4a3167a96b config support with yml
Added the ability to load configs from a yml file at startup
2019-11-27 01:20:58 -06:00
Justin T 31682d7af4 WIP: sessions, server, and reading incoming data
Wrote most of the server code that will be needed minus a few parts. Started work on Sessions and the way packets will be parsed and handled.
2019-11-27 01:19:31 -06:00
Justin T b5b15984cc basic layout of players
Setting up some basic structure for players and sessions
2019-11-27 01:18:02 -06:00
Justin T 4e4be5a9cf Update .gitignore
update .gitignore
2019-11-27 01:14:02 -06:00
Justin T bd2e25953d
Initial commit 2019-08-03 22:04:40 -05:00