-
From 33f97fe21f46f660f658da447535c8bb7bc18e8d Mon Sep 17 00:00:00 2001
From: Azalea <22280294+hykilpikonna@users.noreply.github.com>
Date: Fri, 21 Mar 2025 16:41:26 -0400
Subject: [PATCH 1/9] [M] Move sql migrations
---
.../db/{ => 40}/V1000_10__fix_unique.sql | 0
.../db/{ => 40}/V1000_11__wacca_init.sql | 0
.../db/{ => 40}/V1000_12__wacca_reinit.sql | 0
.../db/{ => 40}/V1000_13__wacca_cheats.sql | 0
.../db/{ => 40}/V1000_14__ranking_ban.sql | 0
.../db/{ => 40}/V1000_15__diva_id.sql | 0
.../db/{ => 40}/V1000_16__safety.sql | 0
.../V1000_17__wacca_last_client_id.sql | 0
.../V1000_18__opt_out_of_leaderboard.sql | 0
.../db/{ => 40}/V1000_19__optimization.sql | 0
.../db/{ => 40}/V1000_1__add_aquanet_user.sql | 96 +++++++++----------
.../V1000_20__keychip_session_game_id.sql | 4 +-
.../db/{ => 40}/V1000_21__chusan_team.sql | 0
.../db/{ => 40}/V1000_22__chusan_unique.sql | 0
.../V1000_23__chusan_infinite_penguins.sql | 0
.../V1000_24__chusan_matching_member.sql | 0
.../db/{ => 40}/V1000_25__mai2_unique.sql | 0
.../db/{ => 40}/V1000_26__chusan_matching.sql | 0
.../V1000_27__chusan_net_battle_log.sql | 0
.../V1000_28__chusan_drops_database.sql | 0
.../V1000_29__chusan_favorite_music_fix.sql | 0
.../db/{ => 40}/V1000_2__secure_allnet.sql | 36 +++----
.../{ => 40}/V1000_30__chusan_user_misc.sql | 0
.../db/{ => 40}/V1000_31__chusan_cascade.sql | 0
.../V1000_32__maimai2_music_ranking_index.sql | 0
.../db/{ => 40}/V1000_33__maimai2_prism.sql | 0
.../V1000_34__maimai2_prism_events.sql | 0
.../V1000_35__maimai2_optional_music_rank.sql | 0
.../V1000_36__maimai2_maimile_intimate.sql | 30 +++---
.../V1000_37__ongeki_infinite_kaika.sql | 0
.../V1000_38__chusan_verse_event_121.sql | 0
.../resources/db/{ => 40}/V1000_3__pfp.sql | 0
.../db/{ => 40}/V1000_40__chusan_verse.sql | 0
.../{ => 40}/V1000_4__aqua_game_options.sql | 34 +++----
.../db/{ => 40}/V1000_5__cleanup.sql | 20 ++--
...V1000_6__chusan_playlog_sunplus_fields.sql | 0
.../db/{ => 40}/V1000_7__fix_fk_cascade.sql | 0
.../V1000_8__fix_userid_nullability.sql | 0
.../V1000_9__fix_mai2_nullability.sql | 0
39 files changed, 110 insertions(+), 110 deletions(-)
rename src/main/resources/db/{ => 40}/V1000_10__fix_unique.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_11__wacca_init.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_12__wacca_reinit.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_13__wacca_cheats.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_14__ranking_ban.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_15__diva_id.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_16__safety.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_17__wacca_last_client_id.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_18__opt_out_of_leaderboard.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_19__optimization.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_1__add_aquanet_user.sql (95%)
rename src/main/resources/db/{ => 40}/V1000_20__keychip_session_game_id.sql (97%)
rename src/main/resources/db/{ => 40}/V1000_21__chusan_team.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_22__chusan_unique.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_23__chusan_infinite_penguins.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_24__chusan_matching_member.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_25__mai2_unique.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_26__chusan_matching.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_27__chusan_net_battle_log.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_28__chusan_drops_database.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_29__chusan_favorite_music_fix.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_2__secure_allnet.sql (90%)
rename src/main/resources/db/{ => 40}/V1000_30__chusan_user_misc.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_31__chusan_cascade.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_32__maimai2_music_ranking_index.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_33__maimai2_prism.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_34__maimai2_prism_events.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_35__maimai2_optional_music_rank.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_36__maimai2_maimile_intimate.sql (97%)
rename src/main/resources/db/{ => 40}/V1000_37__ongeki_infinite_kaika.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_38__chusan_verse_event_121.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_3__pfp.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_40__chusan_verse.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_4__aqua_game_options.sql (90%)
rename src/main/resources/db/{ => 40}/V1000_5__cleanup.sql (79%)
rename src/main/resources/db/{ => 40}/V1000_6__chusan_playlog_sunplus_fields.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_7__fix_fk_cascade.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_8__fix_userid_nullability.sql (100%)
rename src/main/resources/db/{ => 40}/V1000_9__fix_mai2_nullability.sql (100%)
diff --git a/src/main/resources/db/V1000_10__fix_unique.sql b/src/main/resources/db/40/V1000_10__fix_unique.sql
similarity index 100%
rename from src/main/resources/db/V1000_10__fix_unique.sql
rename to src/main/resources/db/40/V1000_10__fix_unique.sql
diff --git a/src/main/resources/db/V1000_11__wacca_init.sql b/src/main/resources/db/40/V1000_11__wacca_init.sql
similarity index 100%
rename from src/main/resources/db/V1000_11__wacca_init.sql
rename to src/main/resources/db/40/V1000_11__wacca_init.sql
diff --git a/src/main/resources/db/V1000_12__wacca_reinit.sql b/src/main/resources/db/40/V1000_12__wacca_reinit.sql
similarity index 100%
rename from src/main/resources/db/V1000_12__wacca_reinit.sql
rename to src/main/resources/db/40/V1000_12__wacca_reinit.sql
diff --git a/src/main/resources/db/V1000_13__wacca_cheats.sql b/src/main/resources/db/40/V1000_13__wacca_cheats.sql
similarity index 100%
rename from src/main/resources/db/V1000_13__wacca_cheats.sql
rename to src/main/resources/db/40/V1000_13__wacca_cheats.sql
diff --git a/src/main/resources/db/V1000_14__ranking_ban.sql b/src/main/resources/db/40/V1000_14__ranking_ban.sql
similarity index 100%
rename from src/main/resources/db/V1000_14__ranking_ban.sql
rename to src/main/resources/db/40/V1000_14__ranking_ban.sql
diff --git a/src/main/resources/db/V1000_15__diva_id.sql b/src/main/resources/db/40/V1000_15__diva_id.sql
similarity index 100%
rename from src/main/resources/db/V1000_15__diva_id.sql
rename to src/main/resources/db/40/V1000_15__diva_id.sql
diff --git a/src/main/resources/db/V1000_16__safety.sql b/src/main/resources/db/40/V1000_16__safety.sql
similarity index 100%
rename from src/main/resources/db/V1000_16__safety.sql
rename to src/main/resources/db/40/V1000_16__safety.sql
diff --git a/src/main/resources/db/V1000_17__wacca_last_client_id.sql b/src/main/resources/db/40/V1000_17__wacca_last_client_id.sql
similarity index 100%
rename from src/main/resources/db/V1000_17__wacca_last_client_id.sql
rename to src/main/resources/db/40/V1000_17__wacca_last_client_id.sql
diff --git a/src/main/resources/db/V1000_18__opt_out_of_leaderboard.sql b/src/main/resources/db/40/V1000_18__opt_out_of_leaderboard.sql
similarity index 100%
rename from src/main/resources/db/V1000_18__opt_out_of_leaderboard.sql
rename to src/main/resources/db/40/V1000_18__opt_out_of_leaderboard.sql
diff --git a/src/main/resources/db/V1000_19__optimization.sql b/src/main/resources/db/40/V1000_19__optimization.sql
similarity index 100%
rename from src/main/resources/db/V1000_19__optimization.sql
rename to src/main/resources/db/40/V1000_19__optimization.sql
diff --git a/src/main/resources/db/V1000_1__add_aquanet_user.sql b/src/main/resources/db/40/V1000_1__add_aquanet_user.sql
similarity index 95%
rename from src/main/resources/db/V1000_1__add_aquanet_user.sql
rename to src/main/resources/db/40/V1000_1__add_aquanet_user.sql
index af652d07..06209cb7 100644
--- a/src/main/resources/db/V1000_1__add_aquanet_user.sql
+++ b/src/main/resources/db/40/V1000_1__add_aquanet_user.sql
@@ -1,49 +1,49 @@
-CREATE TABLE aqua_net_user
-(
- au_id BIGINT AUTO_INCREMENT NOT NULL,
- username VARCHAR(32) NOT NULL,
- email VARCHAR(255) NOT NULL,
- email_confirmed BOOLEAN NOT NULL,
- pw_hash VARCHAR(255) NOT NULL,
- display_name VARCHAR(32) NULL,
- country VARCHAR(3) NULL,
- last_login BIGINT NOT NULL,
- reg_time BIGINT NOT NULL,
- profile_location VARCHAR(255) NULL,
- profile_bio VARCHAR(255) NULL,
- ghost_card BIGINT NOT NULL,
- CONSTRAINT pk_aqua_net_user PRIMARY KEY (au_id)
-);
-
-ALTER TABLE sega_card
- ADD net_user_id BIGINT NULL;
-
-ALTER TABLE sega_card
- ADD is_ghost BOOLEAN NOT NULL DEFAULT FALSE;
-
-ALTER TABLE aqua_net_user
- ADD CONSTRAINT uc_aqua_net_user_email UNIQUE (email);
-
-ALTER TABLE aqua_net_user
- ADD CONSTRAINT uc_aqua_net_user_username UNIQUE (username);
-
-ALTER TABLE sega_card
- ADD CONSTRAINT FK_SEGA_CARD_ON_NET_USER FOREIGN KEY (net_user_id) REFERENCES aqua_net_user (au_id);
-
-ALTER TABLE aqua_net_user
- ADD CONSTRAINT uc_aqua_net_user_canonical_card UNIQUE (ghost_card);
-
-ALTER TABLE aqua_net_user
- ADD CONSTRAINT FK_AQUA_NET_USER_ON_CANONICAL_CARD FOREIGN KEY (ghost_card) REFERENCES sega_card (id);
-
-CREATE TABLE aqua_net_email_confirmation
-(
- id BIGINT AUTO_INCREMENT NOT NULL,
- token VARCHAR(255) NOT NULL,
- created_at datetime NOT NULL,
- au_id BIGINT NULL,
- CONSTRAINT pk_email_confirmation PRIMARY KEY (id)
-);
-
-ALTER TABLE aqua_net_email_confirmation
+CREATE TABLE aqua_net_user
+(
+ au_id BIGINT AUTO_INCREMENT NOT NULL,
+ username VARCHAR(32) NOT NULL,
+ email VARCHAR(255) NOT NULL,
+ email_confirmed BOOLEAN NOT NULL,
+ pw_hash VARCHAR(255) NOT NULL,
+ display_name VARCHAR(32) NULL,
+ country VARCHAR(3) NULL,
+ last_login BIGINT NOT NULL,
+ reg_time BIGINT NOT NULL,
+ profile_location VARCHAR(255) NULL,
+ profile_bio VARCHAR(255) NULL,
+ ghost_card BIGINT NOT NULL,
+ CONSTRAINT pk_aqua_net_user PRIMARY KEY (au_id)
+);
+
+ALTER TABLE sega_card
+ ADD net_user_id BIGINT NULL;
+
+ALTER TABLE sega_card
+ ADD is_ghost BOOLEAN NOT NULL DEFAULT FALSE;
+
+ALTER TABLE aqua_net_user
+ ADD CONSTRAINT uc_aqua_net_user_email UNIQUE (email);
+
+ALTER TABLE aqua_net_user
+ ADD CONSTRAINT uc_aqua_net_user_username UNIQUE (username);
+
+ALTER TABLE sega_card
+ ADD CONSTRAINT FK_SEGA_CARD_ON_NET_USER FOREIGN KEY (net_user_id) REFERENCES aqua_net_user (au_id);
+
+ALTER TABLE aqua_net_user
+ ADD CONSTRAINT uc_aqua_net_user_canonical_card UNIQUE (ghost_card);
+
+ALTER TABLE aqua_net_user
+ ADD CONSTRAINT FK_AQUA_NET_USER_ON_CANONICAL_CARD FOREIGN KEY (ghost_card) REFERENCES sega_card (id);
+
+CREATE TABLE aqua_net_email_confirmation
+(
+ id BIGINT AUTO_INCREMENT NOT NULL,
+ token VARCHAR(255) NOT NULL,
+ created_at datetime NOT NULL,
+ au_id BIGINT NULL,
+ CONSTRAINT pk_email_confirmation PRIMARY KEY (id)
+);
+
+ALTER TABLE aqua_net_email_confirmation
ADD CONSTRAINT FK_EMAIL_CONFIRMATION_ON_AQUA_USER FOREIGN KEY (au_id) REFERENCES aqua_net_user (au_id);
\ No newline at end of file
diff --git a/src/main/resources/db/V1000_20__keychip_session_game_id.sql b/src/main/resources/db/40/V1000_20__keychip_session_game_id.sql
similarity index 97%
rename from src/main/resources/db/V1000_20__keychip_session_game_id.sql
rename to src/main/resources/db/40/V1000_20__keychip_session_game_id.sql
index 162c2a2a..bf9f1bc5 100644
--- a/src/main/resources/db/V1000_20__keychip_session_game_id.sql
+++ b/src/main/resources/db/40/V1000_20__keychip_session_game_id.sql
@@ -1,2 +1,2 @@
-ALTER TABLE allnet_keychip_sessions
- ADD game_id VARCHAR(4) NULL;
+ALTER TABLE allnet_keychip_sessions
+ ADD game_id VARCHAR(4) NULL;
diff --git a/src/main/resources/db/V1000_21__chusan_team.sql b/src/main/resources/db/40/V1000_21__chusan_team.sql
similarity index 100%
rename from src/main/resources/db/V1000_21__chusan_team.sql
rename to src/main/resources/db/40/V1000_21__chusan_team.sql
diff --git a/src/main/resources/db/V1000_22__chusan_unique.sql b/src/main/resources/db/40/V1000_22__chusan_unique.sql
similarity index 100%
rename from src/main/resources/db/V1000_22__chusan_unique.sql
rename to src/main/resources/db/40/V1000_22__chusan_unique.sql
diff --git a/src/main/resources/db/V1000_23__chusan_infinite_penguins.sql b/src/main/resources/db/40/V1000_23__chusan_infinite_penguins.sql
similarity index 100%
rename from src/main/resources/db/V1000_23__chusan_infinite_penguins.sql
rename to src/main/resources/db/40/V1000_23__chusan_infinite_penguins.sql
diff --git a/src/main/resources/db/V1000_24__chusan_matching_member.sql b/src/main/resources/db/40/V1000_24__chusan_matching_member.sql
similarity index 100%
rename from src/main/resources/db/V1000_24__chusan_matching_member.sql
rename to src/main/resources/db/40/V1000_24__chusan_matching_member.sql
diff --git a/src/main/resources/db/V1000_25__mai2_unique.sql b/src/main/resources/db/40/V1000_25__mai2_unique.sql
similarity index 100%
rename from src/main/resources/db/V1000_25__mai2_unique.sql
rename to src/main/resources/db/40/V1000_25__mai2_unique.sql
diff --git a/src/main/resources/db/V1000_26__chusan_matching.sql b/src/main/resources/db/40/V1000_26__chusan_matching.sql
similarity index 100%
rename from src/main/resources/db/V1000_26__chusan_matching.sql
rename to src/main/resources/db/40/V1000_26__chusan_matching.sql
diff --git a/src/main/resources/db/V1000_27__chusan_net_battle_log.sql b/src/main/resources/db/40/V1000_27__chusan_net_battle_log.sql
similarity index 100%
rename from src/main/resources/db/V1000_27__chusan_net_battle_log.sql
rename to src/main/resources/db/40/V1000_27__chusan_net_battle_log.sql
diff --git a/src/main/resources/db/V1000_28__chusan_drops_database.sql b/src/main/resources/db/40/V1000_28__chusan_drops_database.sql
similarity index 100%
rename from src/main/resources/db/V1000_28__chusan_drops_database.sql
rename to src/main/resources/db/40/V1000_28__chusan_drops_database.sql
diff --git a/src/main/resources/db/V1000_29__chusan_favorite_music_fix.sql b/src/main/resources/db/40/V1000_29__chusan_favorite_music_fix.sql
similarity index 100%
rename from src/main/resources/db/V1000_29__chusan_favorite_music_fix.sql
rename to src/main/resources/db/40/V1000_29__chusan_favorite_music_fix.sql
diff --git a/src/main/resources/db/V1000_2__secure_allnet.sql b/src/main/resources/db/40/V1000_2__secure_allnet.sql
similarity index 90%
rename from src/main/resources/db/V1000_2__secure_allnet.sql
rename to src/main/resources/db/40/V1000_2__secure_allnet.sql
index 6029c9da..f5e97d8d 100644
--- a/src/main/resources/db/V1000_2__secure_allnet.sql
+++ b/src/main/resources/db/40/V1000_2__secure_allnet.sql
@@ -1,19 +1,19 @@
-CREATE TABLE allnet_keychip_sessions
-(
- token VARCHAR(32) NOT NULL,
- au_id BIGINT NULL,
- last_use BIGINT NOT NULL,
- CONSTRAINT pk_allnet_keychip_sessions PRIMARY KEY (token)
-);
-
-ALTER TABLE aqua_net_user
- ADD keychip VARCHAR(32) NULL;
-
-ALTER TABLE aqua_net_user
- ADD CONSTRAINT uc_aqua_net_user_keychip UNIQUE (keychip);
-
-# Optimization on session cleanup
-CREATE INDEX idx_last_use ON allnet_keychip_sessions (last_use);
-
-ALTER TABLE allnet_keychip_sessions
+CREATE TABLE allnet_keychip_sessions
+(
+ token VARCHAR(32) NOT NULL,
+ au_id BIGINT NULL,
+ last_use BIGINT NOT NULL,
+ CONSTRAINT pk_allnet_keychip_sessions PRIMARY KEY (token)
+);
+
+ALTER TABLE aqua_net_user
+ ADD keychip VARCHAR(32) NULL;
+
+ALTER TABLE aqua_net_user
+ ADD CONSTRAINT uc_aqua_net_user_keychip UNIQUE (keychip);
+
+# Optimization on session cleanup
+CREATE INDEX idx_last_use ON allnet_keychip_sessions (last_use);
+
+ALTER TABLE allnet_keychip_sessions
ADD CONSTRAINT FK_ALLNET_KEYCHIP_SESSIONS_ON_AU FOREIGN KEY (au_id) REFERENCES aqua_net_user (au_id);
\ No newline at end of file
diff --git a/src/main/resources/db/V1000_30__chusan_user_misc.sql b/src/main/resources/db/40/V1000_30__chusan_user_misc.sql
similarity index 100%
rename from src/main/resources/db/V1000_30__chusan_user_misc.sql
rename to src/main/resources/db/40/V1000_30__chusan_user_misc.sql
diff --git a/src/main/resources/db/V1000_31__chusan_cascade.sql b/src/main/resources/db/40/V1000_31__chusan_cascade.sql
similarity index 100%
rename from src/main/resources/db/V1000_31__chusan_cascade.sql
rename to src/main/resources/db/40/V1000_31__chusan_cascade.sql
diff --git a/src/main/resources/db/V1000_32__maimai2_music_ranking_index.sql b/src/main/resources/db/40/V1000_32__maimai2_music_ranking_index.sql
similarity index 100%
rename from src/main/resources/db/V1000_32__maimai2_music_ranking_index.sql
rename to src/main/resources/db/40/V1000_32__maimai2_music_ranking_index.sql
diff --git a/src/main/resources/db/V1000_33__maimai2_prism.sql b/src/main/resources/db/40/V1000_33__maimai2_prism.sql
similarity index 100%
rename from src/main/resources/db/V1000_33__maimai2_prism.sql
rename to src/main/resources/db/40/V1000_33__maimai2_prism.sql
diff --git a/src/main/resources/db/V1000_34__maimai2_prism_events.sql b/src/main/resources/db/40/V1000_34__maimai2_prism_events.sql
similarity index 100%
rename from src/main/resources/db/V1000_34__maimai2_prism_events.sql
rename to src/main/resources/db/40/V1000_34__maimai2_prism_events.sql
diff --git a/src/main/resources/db/V1000_35__maimai2_optional_music_rank.sql b/src/main/resources/db/40/V1000_35__maimai2_optional_music_rank.sql
similarity index 100%
rename from src/main/resources/db/V1000_35__maimai2_optional_music_rank.sql
rename to src/main/resources/db/40/V1000_35__maimai2_optional_music_rank.sql
diff --git a/src/main/resources/db/V1000_36__maimai2_maimile_intimate.sql b/src/main/resources/db/40/V1000_36__maimai2_maimile_intimate.sql
similarity index 97%
rename from src/main/resources/db/V1000_36__maimai2_maimile_intimate.sql
rename to src/main/resources/db/40/V1000_36__maimai2_maimile_intimate.sql
index 8cb4ba59..72a68cbd 100644
--- a/src/main/resources/db/V1000_36__maimai2_maimile_intimate.sql
+++ b/src/main/resources/db/40/V1000_36__maimai2_maimile_intimate.sql
@@ -1,15 +1,15 @@
-ALTER TABLE maimai2_user_detail
- ADD COLUMN point INT DEFAULT 0,
- ADD COLUMN total_point INT DEFAULT 0;
-
-CREATE TABLE maimai2_user_intimate
-(
- id BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
- user_id BIGINT NULL,
- partner_id INT NOT NULL,
- intimate_level INT NOT NULL,
- intimate_count_rewarded INT NOT NULL,
- CONSTRAINT fku_maimai2_user_intimate FOREIGN KEY (user_id) REFERENCES maimai2_user_detail (id) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT unique_maimai2_user_intimate UNIQUE (user_id, partner_id)
-);
-
+ALTER TABLE maimai2_user_detail
+ ADD COLUMN point INT DEFAULT 0,
+ ADD COLUMN total_point INT DEFAULT 0;
+
+CREATE TABLE maimai2_user_intimate
+(
+ id BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
+ user_id BIGINT NULL,
+ partner_id INT NOT NULL,
+ intimate_level INT NOT NULL,
+ intimate_count_rewarded INT NOT NULL,
+ CONSTRAINT fku_maimai2_user_intimate FOREIGN KEY (user_id) REFERENCES maimai2_user_detail (id) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT unique_maimai2_user_intimate UNIQUE (user_id, partner_id)
+);
+
diff --git a/src/main/resources/db/V1000_37__ongeki_infinite_kaika.sql b/src/main/resources/db/40/V1000_37__ongeki_infinite_kaika.sql
similarity index 100%
rename from src/main/resources/db/V1000_37__ongeki_infinite_kaika.sql
rename to src/main/resources/db/40/V1000_37__ongeki_infinite_kaika.sql
diff --git a/src/main/resources/db/V1000_38__chusan_verse_event_121.sql b/src/main/resources/db/40/V1000_38__chusan_verse_event_121.sql
similarity index 100%
rename from src/main/resources/db/V1000_38__chusan_verse_event_121.sql
rename to src/main/resources/db/40/V1000_38__chusan_verse_event_121.sql
diff --git a/src/main/resources/db/V1000_3__pfp.sql b/src/main/resources/db/40/V1000_3__pfp.sql
similarity index 100%
rename from src/main/resources/db/V1000_3__pfp.sql
rename to src/main/resources/db/40/V1000_3__pfp.sql
diff --git a/src/main/resources/db/V1000_40__chusan_verse.sql b/src/main/resources/db/40/V1000_40__chusan_verse.sql
similarity index 100%
rename from src/main/resources/db/V1000_40__chusan_verse.sql
rename to src/main/resources/db/40/V1000_40__chusan_verse.sql
diff --git a/src/main/resources/db/V1000_4__aqua_game_options.sql b/src/main/resources/db/40/V1000_4__aqua_game_options.sql
similarity index 90%
rename from src/main/resources/db/V1000_4__aqua_game_options.sql
rename to src/main/resources/db/40/V1000_4__aqua_game_options.sql
index 6a8bb1ac..877e4143 100644
--- a/src/main/resources/db/V1000_4__aqua_game_options.sql
+++ b/src/main/resources/db/40/V1000_4__aqua_game_options.sql
@@ -1,18 +1,18 @@
-CREATE TABLE aqua_game_options
-(
- id BIGINT AUTO_INCREMENT NOT NULL,
- unlock_music BIT(1) NOT NULL,
- unlock_chara BIT(1) NOT NULL,
- unlock_collectables BIT(1) NOT NULL,
- unlock_tickets BIT(1) NOT NULL,
- CONSTRAINT pk_aquagameoptions PRIMARY KEY (id)
-);
-
-ALTER TABLE aqua_net_user
- ADD game_options BIGINT NULL;
-
-ALTER TABLE aqua_net_user
- ADD CONSTRAINT uc_aquanetuser_gameoptions UNIQUE (game_options);
-
-ALTER TABLE aqua_net_user
+CREATE TABLE aqua_game_options
+(
+ id BIGINT AUTO_INCREMENT NOT NULL,
+ unlock_music BIT(1) NOT NULL,
+ unlock_chara BIT(1) NOT NULL,
+ unlock_collectables BIT(1) NOT NULL,
+ unlock_tickets BIT(1) NOT NULL,
+ CONSTRAINT pk_aquagameoptions PRIMARY KEY (id)
+);
+
+ALTER TABLE aqua_net_user
+ ADD game_options BIGINT NULL;
+
+ALTER TABLE aqua_net_user
+ ADD CONSTRAINT uc_aquanetuser_gameoptions UNIQUE (game_options);
+
+ALTER TABLE aqua_net_user
ADD CONSTRAINT FK_AQUANETUSER_ON_GAMEOPTIONS FOREIGN KEY (game_options) REFERENCES aqua_game_options (id);
\ No newline at end of file
diff --git a/src/main/resources/db/V1000_5__cleanup.sql b/src/main/resources/db/40/V1000_5__cleanup.sql
similarity index 79%
rename from src/main/resources/db/V1000_5__cleanup.sql
rename to src/main/resources/db/40/V1000_5__cleanup.sql
index 0d23d4da..a4e25ff1 100644
--- a/src/main/resources/db/V1000_5__cleanup.sql
+++ b/src/main/resources/db/40/V1000_5__cleanup.sql
@@ -1,11 +1,11 @@
-ALTER TABLE bak_maimai2_user_rate
- DROP FOREIGN KEY FKfaewgvanchzwo8um;
-
-DROP TABLE bak_diva_pv_entry;
-
-DROP TABLE bak_maimai2_user_rate;
-
-DROP TABLE hibernate_sequence;
-
-ALTER TABLE chusan_user_data
+ALTER TABLE bak_maimai2_user_rate
+ DROP FOREIGN KEY FKfaewgvanchzwo8um;
+
+DROP TABLE bak_diva_pv_entry;
+
+DROP TABLE bak_maimai2_user_rate;
+
+DROP TABLE hibernate_sequence;
+
+ALTER TABLE chusan_user_data
DROP COLUMN rank_up_challenge_results;
\ No newline at end of file
diff --git a/src/main/resources/db/V1000_6__chusan_playlog_sunplus_fields.sql b/src/main/resources/db/40/V1000_6__chusan_playlog_sunplus_fields.sql
similarity index 100%
rename from src/main/resources/db/V1000_6__chusan_playlog_sunplus_fields.sql
rename to src/main/resources/db/40/V1000_6__chusan_playlog_sunplus_fields.sql
diff --git a/src/main/resources/db/V1000_7__fix_fk_cascade.sql b/src/main/resources/db/40/V1000_7__fix_fk_cascade.sql
similarity index 100%
rename from src/main/resources/db/V1000_7__fix_fk_cascade.sql
rename to src/main/resources/db/40/V1000_7__fix_fk_cascade.sql
diff --git a/src/main/resources/db/V1000_8__fix_userid_nullability.sql b/src/main/resources/db/40/V1000_8__fix_userid_nullability.sql
similarity index 100%
rename from src/main/resources/db/V1000_8__fix_userid_nullability.sql
rename to src/main/resources/db/40/V1000_8__fix_userid_nullability.sql
diff --git a/src/main/resources/db/V1000_9__fix_mai2_nullability.sql b/src/main/resources/db/40/V1000_9__fix_mai2_nullability.sql
similarity index 100%
rename from src/main/resources/db/V1000_9__fix_mai2_nullability.sql
rename to src/main/resources/db/40/V1000_9__fix_mai2_nullability.sql
From 2b26304d92630602c6f3a26a983fcb2110eea744 Mon Sep 17 00:00:00 2001
From: Azalea <22280294+hykilpikonna@users.noreply.github.com>
Date: Fri, 21 Mar 2025 16:41:33 -0400
Subject: [PATCH 2/9] [+] More events
---
.../db/80/v1000_41__chusan_verse.sql | 157 ++++++++++++++++++
1 file changed, 157 insertions(+)
create mode 100644 src/main/resources/db/80/v1000_41__chusan_verse.sql
diff --git a/src/main/resources/db/80/v1000_41__chusan_verse.sql b/src/main/resources/db/80/v1000_41__chusan_verse.sql
new file mode 100644
index 00000000..86e7ef5c
--- /dev/null
+++ b/src/main/resources/db/80/v1000_41__chusan_verse.sql
@@ -0,0 +1,157 @@
+INSERT INTO chusan_game_event (id, type, end_date, start_date, enable)
+VALUES
+ (51,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (52,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (53,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (1021,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3027,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3217,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3309,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3412,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3514,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3623,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3726,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3808,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (3912,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4010,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4111,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4210,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4323,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4513,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4614,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4710,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4808,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4909,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (4911,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5026,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5112,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5216,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5311,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5360,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5410,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5513,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5630,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5708,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5819,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (5920,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (6020,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (6130,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (6221,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (6319,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (6409,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (6511,9,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (11159,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12580,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12582,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12584,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12586,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12587,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12602,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12611,12,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (12613,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13060,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13451,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13453,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13504,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13506,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13507,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13513,12,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13552,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13553,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13616,7,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13617,7,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (13651,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15150,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15151,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15152,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15156,14,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15157,7,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15158,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15200,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15201,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15202,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15203,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15204,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15205,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15206,11,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15207,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15208,14,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15209,12,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15210,10,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15211,4,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15212,5,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15213,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15250,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15251,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15252,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15253,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15254,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15255,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15256,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15480,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15481,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15482,7,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15483,7,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (15560,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16100,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16101,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16102,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16103,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16104,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16105,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16106,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16107,16,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16108,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16109,4,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16110,5,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16111,11,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16150,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16151,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16152,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16153,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16154,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16155,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16156,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16157,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16158,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16159,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16160,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16161,14,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16162,10,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16163,11,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16164,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16165,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16200,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16201,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16202,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16203,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16204,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16205,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16206,14,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16207,5,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16208,4,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16209,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16250,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16251,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16252,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16253,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16254,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16255,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16256,12,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16257,11,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16258,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16300,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16301,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16302,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16303,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16304,2,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16305,8,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16306,1,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16307,16,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16308,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16309,10,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16310,5,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16311,4,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (16312,11,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (99000,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true),
+ (99001,3,'2029-01-01 00:00:00.000000','2019-01-01 00:00:00.000000',true);
\ No newline at end of file
From da648190db4130022e52ec5594eabf8d30b98475 Mon Sep 17 00:00:00 2001
From: Azalea <22280294+hykilpikonna@users.noreply.github.com>
Date: Fri, 21 Mar 2025 16:46:35 -0400
Subject: [PATCH 3/9] [F] Fix error display
---
AquaNet/src/components/StatusOverlays.svelte | 3 +--
.../src/pages/Transfer/TransferServer.svelte | 23 +++++++++++--------
2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/AquaNet/src/components/StatusOverlays.svelte b/AquaNet/src/components/StatusOverlays.svelte
index 2003e933..824b7499 100644
--- a/AquaNet/src/components/StatusOverlays.svelte
+++ b/AquaNet/src/components/StatusOverlays.svelte
@@ -3,14 +3,13 @@
-
{expectedError}+ {#if error} +
{error}{/if} From cb039df33e1201ffdf4d9bd2f33082b2bc6d1b2c Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Fri, 21 Mar 2025 16:47:19 -0400 Subject: [PATCH 4/9] [+] Devnotes --- docs/dev/ongeki_dev_notes.md | 26 +++++++++ docs/dev/sinmai_dev_notes.md | 109 +++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 docs/dev/ongeki_dev_notes.md diff --git a/docs/dev/ongeki_dev_notes.md b/docs/dev/ongeki_dev_notes.md new file mode 100644 index 00000000..eb0d6ad0 --- /dev/null +++ b/docs/dev/ongeki_dev_notes.md @@ -0,0 +1,26 @@ +# Ongeki dev notes + +## Item types + +| ItemKind | Name | +|----------|----------------| +| 1 | Card | +| 2 | NamePlate | +| 3 | Trophy | +| 4 | LimitBreakItem | +| 5 | AlmightyJewel | +| 6 | Money | +| 7 | Music | +| 8 | ProfileVoice | +| 9 | Present | +| 10 | ChapterJewel | +| 11 | GachaTicket | +| 12 | KaikaItem | +| 13 | ExpUpItem | +| 14 | IntimateUpItem | +| 15 | BookItem | +| 16 | SystemVoice | +| 17 | Costume | +| 18 | Medal | +| 19 | Attachment | +| 20 | UnlockItem | diff --git a/docs/dev/sinmai_dev_notes.md b/docs/dev/sinmai_dev_notes.md index a5c84083..63c41ef6 100644 --- a/docs/dev/sinmai_dev_notes.md +++ b/docs/dev/sinmai_dev_notes.md @@ -20,3 +20,112 @@ | 14 | Intimate Item | | 15 | Kaleidx Scope Key | +## Multiplayer + +### Party Host/Client/Member + +Manager.Party.Party/**Host.cs** : Host : +* TCP **Listen** 50100 (Accept into Member) +* UDP Broadcast 50100 + * Send: StartRecruit, FinishRecruit + +PartyLink/**Party.cs** : Party.Host : Exact same as Host.cs + +Manager.Party.Party/**Member.cs** : Member : +* TCP Connect 50100 + * Send: JoinResult, Kick, StartPlay, StartClientState, PartyMember{Info/State}, PartyPlayInfo, RequestMeasure + * Recv: RequestJoin, ClientState, ClientPlayInfo, UpdateMechaInfo, ResponseMeasure, FinishNews + +PartyLink/**Party.cs** : Party.Member : Exact same as Member.cs + +Manager.Party.Party/**Client.cs** : Client : +* UDP **Listen** 50100 + * Recv: StartRecruit, FinishRecruit +* TCP Connect 50100 + * Recv: JoinResult, Kick, StartPlay, StartClientState,PartyMember{Info/State}, PartyPlayInfo, RequestMeasure + * Send: RequestJoin, ClientState, ClientPlayInfo, UpdateMechaInfo, ResponseMeasure, FinishNews + +PartyLink/**Party.cs** : Party.Client : Exact same as Client.cs + +**Enums** +* **ClientStateID**: {Setup, Wait, Connect, Request, Joined, FinishSetting, ToReady, BeginPlay, AllBeginPlay, Ready, Sync, Play, FinishPlay, News, NewsEnd, Result, Disconnected, Finish, Error} +* **JoinResult**: {Success, Full, NoRecruit, Disconnect, AlreadyJoined, DifferentGroup, DifferentMusic, DifferentEventMode} + +**Models** +* **MechaInfo**: IsJoin (bool), IP Address, MusicID, Entries[2], UserIDs[2], Rating[2], ... +* **RecruitInfo**: MechaInfo, MusicID, GroupID, EventModeID, JoinNumber, PartyStance, Start time, Recv time +* **MemberPlayInfo**: IP Address, Rankings[2], Achieves[2], Combos[2], Miss[2], ... +* **ChainHistory**: PacketNo (int), Chain (int) + +**Commands** +* **StartRecruit/FinishRecruit**: RecruitInfo +* **JoinResult**: JoinResult (enum) +* **RequestJoin**: MechaInfo, GroupID, EventModeID +* **UpdateMechaInfo**: MechaInfo +* **Kick**: RecruitInfo, KickBy {Cancel, Start, Disconnect} +* **RequestMeasure/ResponseMeasure**: {} - Sync delay +* **StartPlay**: MaxMeasure (long), MyMeasure (long) - Sync delay +* **StartClientState**: ClientStateID (enum) +* **ClientState**: ClientStateID (enum) +* **PartyMemberInfo**: MechaInfo[2] +* **PartyMemberState**: ClientStateID[2] +* **PartyPlayInfo**: MemberPlayInfo[2], ChainHistory[10], Chain (int), ChainMiss (int), MaxChain (int), IsFullChain (bool), CalcStatus (int) +* **ClientPlayInfo**: IP Address, Count, IsValids[2], Achieves[2], Combos[2], Miss[2], ... +* **FinishNews**: IP Address, IsValids[2], GaugeClears[2], GaugeStockNums[2] + +### Setting Host/Client/Member + +> This might be for synchronizing event settings across different cabs, +> I'm not sure if this is relevant for multiplayer. + +PartyLink/**Setting.cs** : Setting.**Host** : +* TCP **Listen** 50101 (Accept into Setting.Member) +* UDP Broadcast 50101 + * Send: SettingHostAddress +* UDP **Listen** 50101 + * Recv: SettingHostAddress (Check duplicate host) + +PartyLink/**Setting.cs** : Setting.**Client** : +* TCP Connect 50101 + * Send: SettingRequest + * Recv: SettingResponse, HeartBeat{} +* UDP **Listen** 50101 + * Recv: SettingHostAddress + +PartyLink/**Setting.cs** : Setting.**Member** : +* TCP Connect 50101 + * Recv: SettingRequest, HeartBeat{} + * Send: SettingResponse, HeartBeat{} + +**Models** +* **SettingHostAddress**: IP Address (u32), Group (int) +* **SettingRequest**: Group (int) +* **SettingResponse**: Group (int), Data (isEventMode, eventModeMusicCount, memberNumber) + +### Advertise + +> For finding IP addresses of other cabs and checking their latency. + +PartyLink/**Advertise.cs** : Advertise.Manager : +* UDP **Listen** 50102 + * Recv: AdvertiseRequest, AdvertiseResponse, AdvertiseGo +* UDP Broadcast 50102 + * Send: AdvertiseRequest, AdvertiseResponse, AdvertiseGo + +**Models** +* **AdvertiseRequest**: IP Address (u32), Group (int), Kind (int) +* **AdvertiseResponse**: IP Address (u32), Group (int), Kind (int) +* **AdvertiseGo**: IP Address (u32), Group (int), Kind (int), MaxUsec (long), MyUsec (long) + +!! sendTo is not necessarily broadcast !! + +### DeliveryChecker + +PartyLink/**DeliveryChecker** : DeliveryChecker.Manager : +* UDP **Listen** 50103 + * Recv: AdvocateDelivery +* UDP Broadcast 50103 + * Send: AdvocateDelivery + +**Models** +* **AdvocateDelivery**: IP Address (u32) From 02b4a70dd21b81eaae826c12f998ebb42098dd29 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Fri, 21 Mar 2025 16:47:43 -0400 Subject: [PATCH 5/9] [+] HTTP timeout --- src/main/java/ext/Http.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/ext/Http.kt b/src/main/java/ext/Http.kt index d0c73fe7..44b7f60e 100644 --- a/src/main/java/ext/Http.kt +++ b/src/main/java/ext/Http.kt @@ -5,12 +5,13 @@ import java.net.URI import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse +import java.time.Duration val client = HttpClient.newBuilder().build() fun HttpRequest.Builder.send() = client.send(this.build(), HttpResponse.BodyHandlers.ofByteArray()) fun HttpRequest.Builder.header(pair: Pair
👋 Welcome to the AquaTrans™ server data transfer tool!
+You can use this to export data from any server, and input data into any server using the connection credentials (card number, server address, and keychip id).
+This tool will simulate a game client and pull your data from the source server, and push your data to the destination server.
+Please fill out the info below to get started!
+ `, + 'trans.error.empty': 'Please fill out all fields.', + 'trans.error.untested': 'Please test the connections first.', + 'trans.success.import': 'Data imported successfully!', + 'trans.source.title': 'Source Server', + 'trans.target.title': 'Destination Server', + 'trans.field.addr': 'Server Address', + 'trans.field.keychip': 'Keychip ID', + 'trans.field.game': 'Game', + 'trans.field.version': 'Version', + 'trans.field.card': 'Card Number', + 'trans.btn.test': 'Test Connection', + 'trans.btn.export': 'Export Data', + 'trans.btn.import': 'Import Data', +} + export const EN_REF = { ...EN_REF_USER, ...EN_REF_Welcome, ...EN_REF_GENERAL, ...EN_REF_LEADERBOARD, ...EN_REF_HOME, ...EN_REF_SETTINGS, ...EN_REF_USERBOX, - ...EN_REF_MAI_PHOTO + ...EN_REF_MAI_PHOTO, ...EN_REF_AQUATRANS } export type LocalizedMessages = typeof EN_REF diff --git a/AquaNet/src/libs/i18n/zh.ts b/AquaNet/src/libs/i18n/zh.ts index 17f37256..8fe9e851 100644 --- a/AquaNet/src/libs/i18n/zh.ts +++ b/AquaNet/src/libs/i18n/zh.ts @@ -1,4 +1,5 @@ import { + EN_REF_AQUATRANS, EN_REF_GENERAL, EN_REF_HOME, EN_REF_LEADERBOARD, @@ -242,5 +243,38 @@ export const zhMaiPhoto: typeof EN_REF_MAI_PHOTO = { 'maiphoto.none': '还没有图片哦~ 可以在每次游戏结束的时候点击上传来上传照片。', } +export const zhAquaTrans: typeof EN_REF_AQUATRANS = { + 'trans.title': '🏳️⚧️ AquaTrans™ 数据迁移工具', + 'trans.confirm.unbackuped.title': '确认迁移', + 'trans.confirm.unbackuped.msg': '似乎还没有备份目标服务器的数据,真的要继续吗?(推荐先备份一下,因为迁移的时候会覆盖数据)', + 'trans.confirm.untested.title': '不太聪明喵', + 'trans.confirm.untested.msg': '在两个服务器上都测试完连接之后才能进行数据迁移哦!', + 'trans.confirm.done.title': '完成!', + 'trans.confirm.done.msg': '数据迁移成功!在 ${dst} 上的数据已被来自 ${src} 的数据覆盖。', + 'trans.alert.in-progress': '在迁移了在迁移了', + 'trans.prompt-html': ` +👋 欢迎使用 AquaTrans™ 服务器游玩数据迁移工具!
+这个工具可以导出任意服务器的数据,并使用连接凭证(卡号、服务器地址和 Keychip ID)将数据导入任何其他服务器。
+我将模拟游戏客户端,从源服务器拉取游戏数据并推送到目标服务器。
+填写下面的表格开始迁移吧!
+ `, + 'trans.error.empty': '请填写所有字段。', + 'trans.error.untested': '请先进行连接测试。', + 'trans.success.import': '数据导入成功!', + 'trans.source.title': '源服务器', + 'trans.target.title': '目标服务器', + 'trans.field.addr': '服务器地址', + 'trans.field.keychip': '狗号', + 'trans.field.game': '游戏', + 'trans.field.version': '版本', + 'trans.field.card': '卡号', + 'trans.btn.test': '测试连接', + 'trans.btn.export': '导出数据', + 'trans.btn.import': '导入数据', +} + + export const ZH = { ...zhUser, ...zhWelcome, ...zhGeneral, - ...zhLeaderboard, ...zhHome, ...zhSettings, ...zhUserbox, ...zhMaiPhoto } + ...zhLeaderboard, ...zhHome, ...zhSettings, ...zhUserbox, ...zhMaiPhoto, + ...zhAquaTrans +} diff --git a/AquaNet/src/pages/Transfer/Transfer.svelte b/AquaNet/src/pages/Transfer/Transfer.svelte index 29b7d8b5..a9d3b0e1 100644 --- a/AquaNet/src/pages/Transfer/Transfer.svelte +++ b/AquaNet/src/pages/Transfer/Transfer.svelte @@ -40,16 +40,19 @@ srcEl.pull() .then(() => dstEl.push(srcExportedData)) .then(() => confirm = { - title: "Done!", - message: `Transfer completed successfully! Your data on ${dst.dns} is overwritten with your data from ${src.dns}.` + title: t('trans.confirm.done.title'), + message: t('trans.confirm.done.msg', { src: src.dns, dst: dst.dns }) }) .catch(e => error = e) .finally(() => loading = false) } function startTransfer() { - if (!(srcTested && dstTested)) return alert("Please test both servers first!") - if (loading) return alert("Transfer already in progress!") + if (!(srcTested && dstTested)) return confirm = { + title: t('trans.confirm.untested.title'), + message: t('trans.confirm.untested.msg') + } + if (loading) return alert(t('trans.alert.in-progress')) console.log("Starting transfer...") loading = true @@ -57,8 +60,8 @@ // Ask user to make sure to backup their data confirm = { - title: "Confirm transfer", - message: "It seems like you haven't backed up your destination data. Are you sure you want to proceed? (This will overwrite your destination server's data)", + title: t('trans.confirm.unbackuped.title'), + message: t('trans.confirm.unbackuped.msg'), dangerous: true, confirm: actuallyStartTransfer, cancel: () => { loading = false } @@ -72,7 +75,7 @@