skogaby
3e75e38ca1
Let all versions of Ace run on the server, not just 042300. Add the concept of a homedir so this can be run from a JAR on something like an EC2 instance with the cardconv.py sitting in the homedir
2019-01-30 22:32:31 -06:00
skogaby
3edf9e45d8
Use a more portable solution for loading the cardconv script
2019-01-29 21:10:55 -06:00
skogaby
1d04238f36
Make this runnable from a JAR file properly. Make database path a hibernate config value. Ban new machines by default. Actually reject banned machine requests.
2019-01-29 19:50:26 -06:00
skogaby
292e221214
I derped on the scores responses, now it should handle more than one correctly
2019-01-27 23:35:26 -06:00
skogaby
19e5373c27
Small cleanup commit
2019-01-27 23:18:44 -06:00
skogaby
c62465ee67
Handle area and machine score requests. Fix some mis-enumerated webUI options. Change some default options for new users. Remove the global high scores cache and calculate on-demand more sensibly (less scalable, but we'll worry about that when it becomes an issue)
2019-01-24 02:51:35 -06:00
skogaby
e684eaefb9
Rename the rivalload handlers for loadflags 1 and 2 to be the proper names. TODO: implement them
2019-01-24 01:46:44 -06:00
skogaby
418f89a865
The guidelines options were wrong
2019-01-22 20:40:25 -06:00
skogaby
be7c89f0c5
Don't use explicit session management for Hibernate sessions
2019-01-22 19:05:00 -06:00
skogaby
6c8ae17bae
Save the 'LAST' CSV values to the database as-is and return them as-is until we figure out more offsets. This resolves the issue of sort option not saving correctly.
2019-01-21 20:02:01 -06:00
skogaby
e02d74fafa
User ghost data and personal scores now load correctly. Not sure if area/region scores are loading or not, but personal and global scores are implemented
2019-01-21 18:57:28 -06:00
skogaby
f84b9dba88
Use a basic cache for global high scores so we don't need to fetch the records from the DB
2019-01-21 14:40:17 -06:00
skogaby
b60269f6e0
Global scores response is completed, but it's *very* slow. Gonna construct it in memory on startup and update it as scores are saved instead.
2019-01-21 02:59:09 -06:00
skogaby
18194e273d
Scores are now saving correctly, along with ghost data. Still need to return records to the client correctly.
2019-01-20 17:32:52 -06:00
skogaby
9449dc45ef
Saving scores *mostly* works, but for some reason only the first score's data is read
2019-01-20 15:30:17 -06:00
skogaby
ee6a478664
Checkpoint commit. I have the DAOs and models ready for records and ghost data, now I need to implement the saving and loading of them
2019-01-20 14:20:03 -06:00
skogaby
973d49569a
Implement enough handlers to play a full session! Options save in between sessions, but scores, ghost data, and event progress do not, yet.
2019-01-20 03:10:54 -06:00
skogaby
9c421f62e0
Construct the profile responses more cleanly, the embedded node inside the text content of the profile values isn't needed
2019-01-20 02:42:02 -06:00
skogaby
5952fc20f6
Everything in the profile response CSVs are hex, not decimal
2019-01-20 02:25:32 -06:00
skogaby
1fa3070e33
New profile creation finally works, name input is skipped unless the total plays returns is ffffffff, and we don't do that unless it's set to -1 in the database. If we send that, update it to 0 afterward so the name is only input once.
2019-01-20 02:07:52 -06:00
skogaby
731ac21e3e
Now we're returning the right values for logging into existing profiles. Dancer code and all options are correct. Still need to return the correct last song played, but we're not logging that yet
2019-01-20 01:18:35 -06:00
skogaby
63ce073e31
Logging into an existing profile works now, including the dancer code. Still need to figure out new profile creation. Also, the options aren't getting sent back 100% correctly
2019-01-19 22:18:03 -06:00
skogaby
d711b5ba5a
Fix a bug in the kbinxml library, and send the profile responses properly (mostly). Still need to figure out why the dancer code is wrong, and name entry is skipped for new dancers
2019-01-19 16:38:33 -06:00
skogaby
bf0de379e3
Handle userload better
2019-01-19 01:14:46 -06:00
skogaby
753b1185e7
New profile creation in Ace almost works, for some reason it short circuits and logs us in after profile creation but before name entry
2019-01-18 19:21:04 -06:00
skogaby
513e19fc8e
At the point now where existing profiles can login. Still need to fix something that's preventing new profiles from entering their names
2019-01-18 18:10:31 -06:00
skogaby
595435b649
Profile management is almost complete, still need to deal with eacoin stuff
2019-01-18 17:38:13 -06:00
skogaby
b0d510af16
Use a Kotlin kbinxml implementation instead of shelling out to Python for the conversions
2019-01-18 15:28:27 -06:00
skogaby
b11f658e4d
Handle inheritance requests
2019-01-18 01:24:13 -06:00
skogaby
eb22fe909b
More work for creating new profiles
2019-01-18 01:15:35 -06:00
skogaby
63e462baca
Handler for cardmng.authpass
2019-01-17 23:17:56 -06:00
skogaby
d073535083
More handlers to support logging in and creating new profiles, not done yet
2019-01-17 22:31:19 -06:00
skogaby
5d5fd2268f
Make the supported models check use the sanitized model
2019-01-17 19:18:56 -06:00
skogaby
8654eac79f
Added models and DAOs for cards and DDR Ace profiles, as well as enums
...
for various options in-game for Ace. The next step is to actually
support carding in in-game, as well as creating new profiles in-game for
unbound cards.
2019-01-17 19:11:05 -06:00
skogaby
a4a78855ad
Use a temporary solution for converting card IDs, shell out to a Python script
2019-01-17 00:07:05 -06:00
skogaby
76bfb02ae1
Starting to work on converting between NFC IDs and card IDs but it's not working quite correctly, yet
2019-01-16 13:27:26 -06:00
skogaby
0a683bf88c
If we're seeing a machine for the first time, create a PCB and user and ban them. If we see an unbanned machine for the first time, create a default shop for it, etc.
2019-01-14 16:39:23 -06:00
skogaby
9185ba7967
Send the 'real' (static) response for events. Don't compress responses for now, apparently this is somehow subtly broken and the client is rejecting very large responses that we've compressed
2019-01-14 15:28:28 -06:00
skogaby
25244e2fe5
Ace now boots into online mode and gets to the title screen without any hangs. Still need to figure out why sending static responses isn't working correctly.
2019-01-14 01:51:09 -06:00
skogaby
bca2033db2
Checkpoint commit
2019-01-13 19:35:23 -06:00
skogaby
66463b0bf6
Added a few more playerdata.usergamedata_advanced handlers, but it seems like something might be wrong with the events response, because none of the other requests come in
2019-01-13 16:49:11 -06:00
skogaby
893c590106
Ace can boot into 'online' mode, now! Removed some of the information from the shop class that we need to hardcode, as the facility.get request can prevent the game from booting online and ever requesting playerdata
2019-01-13 03:25:37 -06:00
skogaby
df18236346
Use the port and main config values in a few more places
2019-01-13 02:36:34 -06:00
skogaby
a4aa422798
Checkpoint commit, trying to support the playerdata module but I'm running into some hiccups, the code doesn't seem to be triggering
2019-01-12 15:54:43 -06:00
skogaby
bc7458385d
Return the real tax phases for each user
2019-01-12 03:28:10 -06:00
skogaby
1e009f85ad
In facility.get, return the actual shop data from the database, and validate that a shop exists for the given PCB
2019-01-12 03:11:03 -06:00
skogaby
22ca376c7d
Rename facilities to shops. Check if PCBs are banned / disabled. Make the port and maint flags configurable
2019-01-12 02:49:52 -06:00
skogaby
b94e4d44ce
Write eventlog.write requests to the database, and validate incoming PCBIDs for database existence
2019-01-12 01:57:50 -06:00
skogaby
cd12a94d50
Fix some issues with XPath querying and time conversion. Now PCB events get logged to the DB successfully
2019-01-11 17:42:35 -06:00
skogaby
66483b5d42
Actually log the PCB events to the database, as a proof of concept for the XML reading utility functions, and the DAO objects
2019-01-11 13:16:36 -06:00