224 Commits

Author SHA1 Message Date
Anduin Xue a715bce62f Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!200
2026-05-04 12:00:43 +00:00
Nuget Ninja 23af21e3da Auto csproj fix and update by bot. 2026-05-04 11:04:11 +00:00
Anduin Xue f2f03a5d40 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!199
2026-04-30 12:02:59 +00:00
Nuget Ninja 99e51270fd Auto csproj fix and update by bot. 2026-04-30 11:29:08 +00:00
Anduin Xue 14e6b55cac Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!198
2026-04-28 18:03:00 +00:00
Nuget Ninja 135089e0e4 Auto csproj fix and update by bot. 2026-04-28 17:29:40 +00:00
Anduin Xue 732f253c07 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!197
2026-04-22 12:02:41 +00:00
Nuget Ninja d2a3709de2 Auto csproj fix and update by bot. 2026-04-22 11:28:28 +00:00
Anduin Xue e7a99a5d66 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!196
2026-04-22 06:02:46 +00:00
Nuget Ninja 7b68a673c5 Auto csproj fix and update by bot. 2026-04-22 05:28:41 +00:00
Anduin Xue d90ffada82 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!195
2026-04-17 19:05:36 +00:00
Nuget Ninja bacd91d89a Auto csproj fix and update by bot. 2026-04-17 17:55:50 +00:00
Anduin Xue e910e19609 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!194
2026-04-15 06:06:33 +00:00
Nuget Ninja cfe076363d Auto csproj fix and update by bot. 2026-04-15 05:07:28 +00:00
Anduin Xue a407d145bb Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!193
2026-04-11 12:00:25 +00:00
Nuget Ninja f2e330235e Auto csproj fix and update by bot. 2026-04-11 11:11:19 +00:00
Anduin Xue 7559ac7acf Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!192
2026-04-07 12:04:31 +00:00
Nuget Ninja e5493977b8 Auto csproj fix and update by bot. 2026-04-07 11:28:22 +00:00
Anduin Xue ad13cc21a3 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!191
2026-03-29 12:03:19 +00:00
Nuget Ninja 6f5d2291b5 Auto csproj fix and update by bot. 2026-03-29 11:03:16 +00:00
Anduin Xue ba369f6707 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!190
2026-03-27 00:00:48 +00:00
Nuget Ninja 115456735a Auto csproj fix and update by bot. 2026-03-26 23:07:19 +00:00
Anduin Xue c491a5389d Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!189
2026-03-17 12:03:15 +00:00
Nuget Ninja 56a1cbcb28 Auto csproj fix and update by bot. 2026-03-17 11:08:47 +00:00
Anduin Xue feabc684d9 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!188
2026-03-13 13:47:53 +00:00
Nuget Ninja 4da8562bde Auto csproj fix and update by bot. 2026-03-13 13:31:26 +00:00
Anduin Xue 09ba96d102 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!187
2026-03-11 01:03:02 +00:00
Nuget Ninja d95a0408e3 Auto csproj fix and update by bot. 2026-03-11 00:27:37 +00:00
Anduin Xue 104e0aa216 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!186
2026-03-02 20:03:08 +00:00
Nuget Ninja b6c86102cc Auto csproj fix and update by bot. 2026-03-02 19:17:13 +00:00
Anduin Xue dd2602e0d9 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!185
2026-02-25 12:05:23 +00:00
Nuget Ninja f501320d95 Auto csproj fix and update by bot. 2026-02-25 11:02:10 +00:00
Anduin Xue 5588085570 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!184
2026-02-24 18:03:40 +00:00
Nuget Ninja a1c63d396c Auto csproj fix and update by bot. 2026-02-24 17:05:56 +00:00
Anduin Xue 15baaa7266 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!183
2026-02-23 12:04:02 +00:00
Nuget Ninja 43bd17173a Auto csproj fix and update by bot. 2026-02-23 11:13:17 +00:00
Anduin 0c2afb62d3 Support ARM multi-arch build in Dockerfile 2026-02-22 06:27:05 +00:00
Anduin Xue 26bd6beac6 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!182
2026-02-22 00:05:46 +00:00
Nuget Ninja 6c39222072 Auto csproj fix and update by bot. 2026-02-21 23:05:15 +00:00
Anduin Xue fcd4f8b20c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!181
2026-02-15 16:59:55 +00:00
Nuget Ninja 55de8cb969 Auto csproj fix and update by bot. 2026-02-15 16:46:11 +00:00
Anduin Xue bd67bee7a4 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!180
2026-02-15 06:05:02 +00:00
Nuget Ninja fde5ca9703 Auto csproj fix and update by bot. 2026-02-15 05:03:49 +00:00
Anduin Xue f0b862e946 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!179
2026-02-11 12:28:46 +00:00
Nuget Ninja 8bcb756112 Auto csproj fix and update by bot. 2026-02-11 11:58:59 +00:00
Anduin c7fc4be0b9 Auto commit by Gemini CLI 2026-02-10 16:30:37 +00:00
Anduin Xue 6d31bed772 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!178
2026-02-04 00:02:55 +00:00
Nuget Ninja 8bc1d9d491 Auto csproj fix and update by bot. 2026-02-03 23:04:02 +00:00
Anduin Xue 552bdfba4a Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!177
2026-01-28 18:01:51 +00:00
Nuget Ninja 6392de1cb1 Auto csproj fix and update by bot. 2026-01-28 17:03:35 +00:00
Anduin af14e6d637 Fix Dockerfile syntax for package.json copy command 2026-01-26 08:09:31 +00:00
Anduin Xue 3c784d9b40 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!176
2026-01-18 19:01:11 +00:00
Nuget Ninja f8d0ccfdfb Auto csproj fix and update by bot. 2026-01-18 18:21:56 +00:00
Anduin Xue 3dc03e086c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!175
2026-01-14 06:02:10 +00:00
Nuget Ninja 712f187570 Auto csproj fix and update by bot. 2026-01-14 05:10:23 +00:00
Anduin Xue 52540e5f5a Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!174
2026-01-14 02:03:38 +00:00
Nuget Ninja 9c586a49e1 Auto csproj fix and update by bot. 2026-01-14 01:15:43 +00:00
Anduin Xue a4781c2d9c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!173
2026-01-12 00:00:55 +00:00
Nuget Ninja e6d3dabe39 Auto csproj fix and update by bot. 2026-01-11 23:44:47 +00:00
Anduin Xue 3a7900e213 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!172
2026-01-09 19:02:55 +00:00
Nuget Ninja a91f4585da Auto csproj fix and update by bot. 2026-01-09 18:07:21 +00:00
Anduin Xue 9403ffe329 Allow head. 2026-01-08 06:56:48 +00:00
Anduin Xue 7b2ddfced5 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!171
2026-01-06 15:28:37 +00:00
Nuget Ninja e35ee9ce01 Auto csproj fix and update by bot. 2026-01-06 15:12:25 +00:00
Anduin Xue c2b5d6bef3 Edit README.md 2026-01-06 03:31:17 +00:00
Anduin Xue ed9c1e63a6 Edit README.md 2026-01-06 03:30:24 +00:00
Anduin Xue ba5ca8be03 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!170
2026-01-01 06:00:53 +00:00
Nuget Ninja 81600e6b1f Auto csproj fix and update by bot. 2026-01-01 05:02:29 +00:00
Anduin Xue f9fa66ba3d Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!169
2025-12-30 06:02:41 +00:00
Nuget Ninja ad60f6e667 Auto csproj fix and update by bot. 2025-12-30 05:02:39 +00:00
Anduin Xue cbe3be2684 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!168
2025-12-28 06:00:41 +00:00
Nuget Ninja 51b47326f0 Auto csproj fix and update by bot. 2025-12-28 05:02:33 +00:00
Anduin Xue d843733fd4 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!167
2025-12-27 06:00:47 +00:00
Nuget Ninja 33490dd5ac Auto csproj fix and update by bot. 2025-12-27 05:02:14 +00:00
Anduin Xue dd98d30c2f Bump node to node 24. 2025-12-23 09:36:44 +00:00
Anduin Xue edc6f32fbc Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!166
2025-12-14 06:02:46 +00:00
Nuget Ninja e10d436295 Auto csproj fix and update by bot. 2025-12-14 05:02:18 +00:00
Anduin Xue 914e8145c5 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!165
2025-12-11 06:01:49 +00:00
Nuget Ninja 15b3caedf5 Auto csproj fix and update by bot. 2025-12-11 05:02:03 +00:00
Anduin Xue 1359da5bcd Fix lint issues: remove unused using directive and make lint.sh executable 2025-12-06 07:57:54 +00:00
Anduin Xue aabc70a4a3 Fix ninja config 2025-12-06 07:52:03 +00:00
Anduin Xue 174f57bbf7 fix manhours link 2025-12-04 17:46:30 +00:00
Anduin Xue a43260bcff Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!164
2025-11-30 06:02:14 +00:00
Nuget Ninja 1169f6363d Auto csproj fix and update by bot. 2025-11-30 05:01:58 +00:00
Anduin Xue bea7e34a5e Update project to .NET 10 SDK and upgrade package references 2025-11-16 07:27:42 +00:00
Anduin Xue 76ce1d6859 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!163
2025-11-12 06:01:32 +00:00
Nuget Ninja 6ad3088401 Auto csproj fix and update by bot. 2025-11-12 05:02:54 +00:00
Anduin Xue 83d08ab859 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!162
2025-11-09 06:00:25 +00:00
Nuget Ninja 11fc46fde8 Auto csproj fix and update by bot. 2025-11-09 05:02:02 +00:00
Anduin Xue 031c787803 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!161
2025-11-07 06:01:06 +00:00
Nuget Ninja 557bb82e51 Auto csproj fix and update by bot. 2025-11-07 05:02:14 +00:00
Anduin Xue 45ca62b672 Update links from .cn to .com 2025-10-28 16:48:35 +00:00
Anduin Xue b46ab5e064 Update ManHours links to use the .com domain 2025-10-28 10:39:42 +00:00
Anduin Xue ac211bb5e5 Fix npm domain name to .com 2025-10-28 10:32:19 +00:00
Anduin Xue a1dd697a69 Fix hub domain. 2025-10-28 08:51:42 +00:00
Anduin Xue fd45121eca Update NuGet source URLs from aiursoft.cn to aiursoft.com in CI configuration and nuget.config 2025-10-28 08:11:22 +00:00
Anduin Xue 9d1d3f4b31 Patch gitlab.aiursoft.cn to gitlab.aiursoft.com. 2025-10-28 06:52:56 +00:00
Anduin Xue b9addc2364 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!160
2025-10-24 06:00:08 +00:00
Nuget Ninja 7741049686 Auto csproj fix and update by bot. 2025-10-24 05:01:56 +00:00
Anduin Xue 9eb17b0127 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!159
2025-10-16 06:00:15 +00:00
Nuget Ninja 7b095ba7da Auto csproj fix and update by bot. 2025-10-16 05:02:20 +00:00
Anduin Xue 06d6852eaa Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!158
2025-10-15 06:00:26 +00:00
Nuget Ninja edbc3aa37d Auto csproj fix and update by bot. 2025-10-15 05:02:23 +00:00
Anduin Xue 54aa546149 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!157
2025-10-14 06:00:38 +00:00
Nuget Ninja 4f1720532b Auto csproj fix and update by bot. 2025-10-14 05:02:32 +00:00
Anduin Xue 8522842f8d Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!156
2025-10-09 06:00:26 +00:00
Nuget Ninja 9dd1c0b591 Auto csproj fix and update by bot. 2025-10-09 05:02:01 +00:00
Anduin Xue 87ce54814c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!155
2025-10-08 06:00:22 +00:00
Nuget Ninja 148b41482f Auto csproj fix and update by bot. 2025-10-08 05:02:04 +00:00
Anduin Xue e79cf944ed Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!154
2025-10-05 06:01:57 +00:00
Nuget Ninja aa9a3d50fb Auto csproj fix and update by bot. 2025-10-05 05:02:02 +00:00
Anduin Xue f9387c605c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!153
2025-10-03 06:01:51 +00:00
Nuget Ninja 3de8b7b6bc Auto csproj fix and update by bot. 2025-10-03 05:02:09 +00:00
Anduin Xue e467736887 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!152
2025-10-02 06:01:30 +00:00
Nuget Ninja 9a0106aa2a Auto csproj fix and update by bot. 2025-10-02 05:02:15 +00:00
Anduin Xue ea5f3cb10d Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!151
2025-10-01 06:01:44 +00:00
Nuget Ninja eebb842d23 Auto csproj fix and update by bot. 2025-10-01 05:02:31 +00:00
Anduin Xue e38f5a2be9 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!150
2025-09-11 06:00:55 +00:00
Nuget Ninja a385717044 Auto csproj fix and update by bot. 2025-09-11 05:01:54 +00:00
Anduin Xue 7dd4afee06 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!149
2025-09-09 06:00:44 +00:00
Nuget Ninja 0ec28b7917 Auto csproj fix and update by bot. 2025-09-09 05:01:49 +00:00
Anduin Xue 03d3734ccd Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!148
2025-09-08 06:00:51 +00:00
Nuget Ninja 7c3766347a Auto csproj fix and update by bot. 2025-09-08 05:01:55 +00:00
Anduin Xue 3c4c38e59d Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!147
2025-09-05 08:00:08 +00:00
Nuget Ninja 9872a2e0b5 Auto csproj fix and update by bot. 2025-09-05 05:01:42 +00:00
Anduin Xue 2dab9f4d7a Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!146
2025-09-04 06:02:46 +00:00
Nuget Ninja 62e1d01188 Auto csproj fix and update by bot. 2025-09-04 05:01:47 +00:00
Anduin Xue 7b153849b0 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!145
2025-08-27 06:03:02 +00:00
Nuget Ninja a58c5ab64e Auto csproj fix and update by bot. 2025-08-27 05:01:59 +00:00
Anduin Xue d1b68e58c5 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!144
2025-08-15 12:24:45 +00:00
Nuget Ninja 8871c1b744 Auto csproj fix and update by bot. 2025-08-15 05:01:47 +00:00
Anduin Xue 10f9970427 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!143
2025-08-05 09:16:41 +00:00
Nuget Ninja f48250e8d5 Auto csproj fix and update by bot. 2025-08-05 09:02:16 +00:00
Anduin Xue 008690a244 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!142
2025-08-05 07:50:42 +00:00
Nuget Ninja 09ba661c68 Auto csproj fix and update by bot. 2025-08-05 07:10:05 +00:00
Anduin Xue 09ca4c9de1 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!141
2025-08-05 03:20:45 +00:00
Nuget Ninja cfdec47c63 Auto csproj fix and update by bot. 2025-08-04 15:23:43 +00:00
Anduin Xue dcb65299c7 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!140
2025-07-31 07:00:20 +00:00
Nuget Ninja 336e5604c5 Auto csproj fix and update by bot. 2025-07-31 05:02:06 +00:00
Anduin Xue feee084903 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!139
2025-07-16 06:01:07 +00:00
Nuget Ninja 6517d67524 Auto csproj fix and update by bot. 2025-07-16 05:02:58 +00:00
Anduin Xue b840d0e8a1 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!138
2025-07-10 06:02:06 +00:00
Nuget Ninja d2d8065527 Auto csproj fix and update by bot. 2025-07-10 05:01:46 +00:00
Anduin Xue 7fea2c8c7d Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!137
2025-06-30 06:00:07 +00:00
Nuget Ninja d504b26347 Auto csproj fix and update by bot. 2025-06-30 05:01:27 +00:00
Anduin Xue 74234d9c4c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!136
2025-06-18 07:00:36 +00:00
Nuget Ninja e2820cab48 Auto csproj fix and update by bot. 2025-06-18 05:01:23 +00:00
Anduin Xue 8c03426bbe Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!135
2025-06-12 06:01:48 +00:00
Nuget Ninja ed053420d7 Auto csproj fix and update by bot. 2025-06-12 05:01:15 +00:00
Anduin Xue 3e8e5d0409 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!134
2025-06-11 07:00:27 +00:00
Nuget Ninja c0fe020cae Auto csproj fix and update by bot. 2025-06-11 05:01:23 +00:00
Anduin Xue 8834be2866 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!133
2025-06-04 07:00:21 +00:00
Nuget Ninja b1de708b6d Auto csproj fix and update by bot. 2025-06-04 05:01:19 +00:00
Anduin Xue 5e3dd9a642 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!132
2025-06-02 06:01:32 +00:00
Nuget Ninja b96074da4c Auto csproj fix and update by bot. 2025-06-02 05:01:13 +00:00
Anduin Xue d3b7fe9309 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!131
2025-06-01 06:38:10 +00:00
Nuget Ninja 41084146d9 Auto csproj fix and update by bot. 2025-06-01 06:14:47 +00:00
xuef e1c721215f Update README to reflect support for Ubuntu 25.04 2025-04-30 06:59:16 +00:00
Anduin Xue 2df9b68431 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!130
2025-04-19 06:00:33 +00:00
Nuget Ninja 6873b75ec2 Auto csproj fix and update by bot. 2025-04-19 05:00:58 +00:00
Anduin Xue 8b246af86c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!129
2025-04-11 06:00:52 +00:00
Nuget Ninja fdcc2bf30d Auto csproj fix and update by bot. 2025-04-11 05:00:51 +00:00
Anduin Xue 31740739e1 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!128
2025-04-10 06:01:47 +00:00
Nuget Ninja ad4686a3cf Auto csproj fix and update by bot. 2025-04-10 05:00:45 +00:00
Anduin Xue 8aeea3cd60 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!127
2025-04-05 06:00:02 +00:00
Nuget Ninja 460a1be24c Auto csproj fix and update by bot. 2025-04-05 05:01:45 +00:00
Anduin Xue d8f5d1fa32 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!126
2025-04-01 06:01:06 +00:00
Nuget Ninja ebbe5e9036 Auto csproj fix and update by bot. 2025-04-01 05:01:02 +00:00
Anduin Xue 810a80d581 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!125
2025-03-18 07:00:53 +00:00
Nuget Ninja c3408edcab Auto csproj fix and update by bot. 2025-03-18 05:00:55 +00:00
Anduin Xue e5f59cf0c4 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!124
2025-03-15 07:00:18 +00:00
Nuget Ninja f76faef334 Auto csproj fix and update by bot. 2025-03-15 05:01:04 +00:00
Anduin Xue d382f779a0 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!123
2025-03-12 16:58:19 +00:00
Nuget Ninja cfbec6c78a Auto csproj fix and update by bot. 2025-03-12 16:49:18 +00:00
Anduin Xue 939e2579b1 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!122
2025-03-12 06:01:19 +00:00
Nuget Ninja 00d72886cc Auto csproj fix and update by bot. 2025-03-12 05:00:48 +00:00
Anduin Xue f66b672985 Fix formatting in README.md for Docker image property 2025-03-11 17:09:29 +00:00
Anduin Xue 8265e7a574 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!121
2025-03-01 06:02:32 +00:00
Nuget Ninja 179a45ceba Auto csproj fix and update by bot. 2025-03-01 05:01:07 +00:00
Anduin Xue aa4498e6d1 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!120
2025-02-28 07:00:32 +00:00
Nuget Ninja 5ca5351de6 Auto csproj fix and update by bot. 2025-02-28 05:01:02 +00:00
Anduin Xue 43030882c3 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!119
2025-02-26 07:00:43 +00:00
Nuget Ninja 1d5a93c866 Auto csproj fix and update by bot. 2025-02-26 05:01:06 +00:00
Anduin Xue 7c8dde5b2b Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!118
2025-02-24 06:01:09 +00:00
Nuget Ninja eb1995667c Auto csproj fix and update by bot. 2025-02-24 05:00:56 +00:00
Anduin Xue ebd834f114 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!117
2025-02-20 06:02:46 +00:00
Nuget Ninja fcb6678a1c Auto csproj fix and update by bot. 2025-02-20 05:01:01 +00:00
Anduin Xue abcbd2fa9f Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!116
2025-02-19 07:00:34 +00:00
Nuget Ninja 248c4e58ec Auto csproj fix and update by bot. 2025-02-19 05:00:59 +00:00
Anduin Xue fb67fcdbc9 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!115
2025-02-15 07:00:07 +00:00
Nuget Ninja 917f766829 Auto csproj fix and update by bot. 2025-02-15 05:01:03 +00:00
Anduin Xue 6a73895afc Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!114
2025-02-13 06:06:25 +00:00
Nuget Ninja 6c5b03e786 Auto csproj fix and update by bot. 2025-02-13 05:06:50 +00:00
Anduin Xue 29c9898c86 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!113
2025-02-11 06:03:21 +00:00
Nuget Ninja 18cd117925 Auto csproj fix and update by bot. 2025-02-11 05:01:18 +00:00
Anduin Xue 6a2b4a8646 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!112
2025-02-08 14:38:49 +00:00
Nuget Ninja 640a82db49 Auto csproj fix and update by bot. 2025-02-08 14:30:17 +00:00
Anduin Xue 841ef6e844 Refactor Dockerfile to streamline NPM and .NET build processes 2025-02-06 16:48:36 +00:00
Anduin Xue fb2453c3ff Update Docker badge and image references in README.md 2025-02-06 15:04:40 +00:00
Anduin Xue c88f355f1f Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!111
2025-02-06 13:01:15 +00:00
Nuget Ninja 2f83fad7b5 Auto csproj fix and update by bot. 2025-02-06 12:56:54 +00:00
Anduin Xue fa838fb13c Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!110
2025-02-02 06:00:48 +00:00
Nuget Ninja d389bbfd77 Auto csproj fix and update by bot. 2025-02-02 05:00:47 +00:00
Anduin Xue 1a7bf446eb Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!109
2025-02-01 13:50:20 +00:00
Nuget Ninja 0a254c7b09 Auto csproj fix and update by bot. 2025-02-01 13:44:22 +00:00
Anduin Xue 306dea2a8f Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!108
2025-01-29 06:02:27 +00:00
Nuget Ninja 8bde726194 Auto csproj fix and update by bot. 2025-01-29 05:01:02 +00:00
Anduin Xue 4cf44f6224 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!107
2025-01-28 06:03:48 +00:00
Nuget Ninja 0f3ade5d3f Auto csproj fix and update by bot. 2025-01-28 05:01:11 +00:00
lily 4ace8a5e3c Use our own dotnet image. 2025-01-26 05:16:25 +00:00
Anduin Xue bb0fafbde9 Update Dockerfile to use internal dotnet image and remove unnecessary package installations 2025-01-26 05:02:49 +00:00
Anduin Xue f63226ae14 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!106
2025-01-22 06:04:42 +00:00
Nuget Ninja dba7b8e281 Auto csproj fix and update by bot. 2025-01-22 05:01:01 +00:00
Anduin Xue 688c459008 Update chess.js dependency to version 1.0.0 2025-01-21 13:06:44 +00:00
Anduin Xue e32d3205c0 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!105
2025-01-20 07:00:36 +00:00
Nuget Ninja b24c4d13cb Auto csproj fix and update by bot. 2025-01-20 05:01:12 +00:00
Anduin Xue 323f3a9b83 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!104
2025-01-17 06:01:26 +00:00
Nuget Ninja fa341c3fcb Auto csproj fix and update by bot. 2025-01-17 05:00:44 +00:00
Anduin Xue b1da771cee Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!103
2025-01-16 06:02:15 +00:00
Nuget Ninja 5015655398 Auto csproj fix and update by bot. 2025-01-16 05:00:47 +00:00
Anduin Xue 4055b6e339 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!102
2025-01-14 07:00:08 +00:00
Nuget Ninja ad5fff030f Auto csproj fix and update by bot. 2025-01-14 05:00:58 +00:00
Anduin Xue 803000e924 Merge branch 'users/nugetninja/evergreen' into 'master'
Auto dependencies upgrade by bot.

See merge request aiursoft/chessserver!101
2025-01-03 06:00:29 +00:00
Nuget Ninja 4296be9929 Auto csproj fix and update by bot. 2025-01-03 05:01:07 +00:00
17 changed files with 363 additions and 219 deletions
+26 -7
View File
@@ -1,6 +1,24 @@
# Editor configuration, see http://editorconfig.org
root = true
[*]
[*]
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[*.scss]
indent_size = 2
[*.md]
max_line_length = off
trim_trailing_whitespace = false
[*.json]
indent_size = 2
[*.cshtml]
# Some CSS Resharper doesn't know how to load.
resharper_unknown_css_class_highlighting=none
@@ -19,14 +37,15 @@ resharper_css_browser_compatibility_highlighting=none
# Localization might not be finished.
resharper_not_overridden_in_specific_culture_highlighting=suggestion
# Allow names like `IPAddress`.
resharper_inconsistent_naming_highlighting=suggestion
# Allow unused auto property get.
resharper_unused_auto_property_accessor_global_highlighting=suggestion
# Allow view render global var.
resharper_access_to_modified_closure_highlighting=suggestion
# Suppress id not resolved because resharper can't understand
resharper_html_id_not_resolved_highlighting=suggestion
[*.cs]
# Allow names like `IPAddress`.
resharper_inconsistent_naming_highlighting=suggestion
# Allow unused auto property get.
resharper_unused_auto_property_accessor_global_highlighting=suggestion
+4
View File
@@ -1,4 +1,5 @@
.vs/
.vscode/
.idea/
lib
*.user
@@ -16,3 +17,6 @@ appsettings.Development.json
*.log
TestResults/
app.db*
.angular/
.yarn/
*.tsbuildinfo
+56 -36
View File
@@ -6,20 +6,24 @@ stages:
- deploy
before_script:
- 'export DOTNET_CLI_TELEMETRY_OPTOUT=1'
- 'export PATH=$PATH:$HOME/.dotnet/tools'
- 'which jb || dotnet tool install JetBrains.ReSharper.GlobalTools --global --add-source https://nuget.aiursoft.cn/v3/index.json --configfile ./nuget.config -v d'
- 'which reportgenerator || dotnet tool install dotnet-reportgenerator-globaltool --global --add-source https://nuget.aiursoft.cn/v3/index.json --configfile ./nuget.config -v d'
- "export PATH=$PATH:$HOME/.dotnet/tools"
- "which jb || dotnet tool install JetBrains.ReSharper.GlobalTools --global --add-source https://nuget.aiursoft.com/v3/index.json --configfile ./nuget.config -v d"
- "which reportgenerator || dotnet tool install dotnet-reportgenerator-globaltool --global --add-source https://nuget.aiursoft.com/v3/index.json --configfile ./nuget.config -v d"
- 'echo "Hostname: $(hostname)"'
- 'dotnet --info'
- "dotnet --info"
variables:
GIT_CLONE_PATH: '$CI_BUILDS_DIR/$CI_PROJECT_NAME/$CI_PIPELINE_ID'
GIT_CLONE_PATH: "$CI_BUILDS_DIR/$CI_PROJECT_NAME/$CI_PIPELINE_ID"
MSBUILDDISABLENODEREUSE: "1"
DOTNET_CLI_TELEMETRY_OPTOUT: "1"
restore:
stage: build
script:
- dotnet restore --no-cache --configfile nuget.config
- |
dotnet restore --no-cache --configfile nuget.config || \
(echo "Restore failed. Retrying in 10 seconds..." && sleep 10 && dotnet restore --no-cache --configfile nuget.config) || \
(echo "Restore failed again. Retrying in 20 seconds..." && sleep 20 && dotnet restore --no-cache --configfile nuget.config)
build:
stage: build
@@ -33,13 +37,8 @@ lint:
needs:
- build
script:
# 3 times retry because sometimes the first time will fail
- jb inspectcode ./*.sln --output=analyze_output.xml --build -f=xml || jb inspectcode ./*.sln --output=analyze_output.xml --build -f=xml || jb inspectcode ./*.sln --output=analyze_output.xml --build -f=xml
# Remove the warning of UnusedAutoPropertyAccessor InconsistentNaming
- sed -i '/InconsistentNaming/d' analyze_output.xml
- sed -i '/AssignNullToNotNullAttribute/d' analyze_output.xml # This is because jetbrains is not smart enough to understand the nullability of C# 8.0
- sed -i '/UnusedAutoPropertyAccessor/d' analyze_output.xml
- grep 'WARNING' analyze_output.xml && cat analyze_output.xml && exit 1 || echo "No warning found"
- chmod +x ./lint.sh
- ./lint.sh
artifacts:
when: always
expire_in: 1 day
@@ -52,7 +51,10 @@ test:
- build
coverage: '/TOTAL_COVERAGE=(\d+.\d+)/'
script:
- dotnet test *.sln --collect:"XPlat Code Coverage" --logger "junit;MethodFormat=Class;FailureBodyFormat=Verbose"
- |
dotnet test *.sln --collect:"XPlat Code Coverage" --logger "junit;MethodFormat=Class;FailureBodyFormat=Verbose" || \
(echo "Test failed. Retrying in 10 seconds..." && sleep 10 && dotnet test *.sln --collect:"XPlat Code Coverage" --logger "junit;MethodFormat=Class;FailureBodyFormat=Verbose") || \
(echo "Test failed again. Retrying in 20 seconds..." && sleep 20 && dotnet test *.sln --collect:"XPlat Code Coverage" --logger "junit;MethodFormat=Class;FailureBodyFormat=Verbose")
- reportgenerator -reports:"**/coverage.cobertura.xml" -targetdir:"." -reporttypes:"cobertura"
- COVERAGE_VALUE=$(grep -oPm 1 'line-rate="\K([0-9.]+)' "./Cobertura.xml")
- COVERAGE_PERCENTAGE=$(echo "scale=2; $COVERAGE_VALUE * 100" | bc)
@@ -81,15 +83,31 @@ pack:
artifacts:
expire_in: 1 week
paths:
- '**/*.nupkg'
- "**/*.nupkg"
upload_to_nuget:
deploy_local_nuget:
stage: deploy
environment: production
needs:
- pack
dependencies:
- pack
script:
- |
for file in $(find . -name "*.nupkg"); do
dotnet nuget push "$file" --api-key "$LOCAL_NUGET_API_KEY" --source "https://nuget.aiursoft.com/v3/index.json" --skip-duplicate || exit 1;
done
only:
- master
deploy_public_nuget:
stage: deploy
environment: production
needs:
- pack
- deploy_local_nuget
dependencies:
- pack
script:
- |
for file in $(find . -name "*.nupkg"); do
@@ -98,22 +116,7 @@ upload_to_nuget:
only:
- master
upload_to_local_nuget:
stage: deploy
environment: production
needs:
- pack
dependencies:
- pack
script:
- |
for file in $(find . -name "*.nupkg"); do
dotnet nuget push "$file" --api-key "$LOCAL_NUGET_API_KEY" --source "https://nuget.aiursoft.cn/v3/index.json" --skip-duplicate || exit 1;
done
only:
- master
deploy_docker:
deploy_docker_all:
stage: deploy
environment: production
needs:
@@ -121,9 +124,26 @@ deploy_docker:
- test
script:
- if [ "$CI_COMMIT_REF_NAME" = "master" ]; then TAG="latest"; else TAG="$CI_COMMIT_REF_NAME"; fi
- echo building image hub.aiursoft.cn/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$TAG
- docker build . -t hub.aiursoft.cn/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:latest
- docker push hub.aiursoft.cn/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:latest
- if [ "$CI_PROJECT_NAMESPACE" = "anduin" ]; then HUB_NAMESPACE="anduin2019"; else HUB_NAMESPACE="$CI_PROJECT_NAMESPACE"; fi
- LOCAL_TARGET_COM="hub.aiursoft.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$TAG"
- LOCAL_TARGET_CN="hub.aiursoft.cn/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$TAG"
- PUBLIC_TARGET="$HUB_NAMESPACE/$CI_PROJECT_NAME:$TAG"
- echo "$LOCAL_DOCKER_PASSWORD" | docker login hub.aiursoft.com -u "$LOCAL_DOCKER_USERNAME" --password-stdin
- echo "$CN_DOCKER_PASSWORD" | docker login hub.aiursoft.cn -u "$CN_DOCKER_USERNAME" --password-stdin
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker buildx use aiur-global-builder
- echo "Building and pushing multi-arch to all registries..."
- |
docker buildx build . \
--platform linux/amd64,linux/arm64 \
-t $LOCAL_TARGET_COM \
-t $LOCAL_TARGET_CN \
-t $PUBLIC_TARGET \
--push
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
exists:
+34 -20
View File
@@ -1,42 +1,56 @@
ARG CSPROJ_PATH="./src/Aiursoft.ChessServer/"
ARG CSPROJ_PATH="./src/Aiursoft.ChessServer"
ARG PROJ_NAME="Aiursoft.ChessServer"
ARG FRONT_END_PATH="${CSPROJ_PATH}/wwwroot"
# ============================
# Prepare NPM Environment
FROM hub.aiursoft.cn/node:21-alpine AS npm-env
ARG CSPROJ_PATH
# Prepare node modules
# ============================
FROM --platform=$BUILDPLATFORM hub.aiursoft.com/node:24-alpine AS npm-env
ARG FRONT_END_PATH
WORKDIR /src
COPY . .
# NPM Build at PGK_JSON_PATH
RUN npm install --prefix "${CSPROJ_PATH}wwwroot" --loglevel verbose
# Restore
COPY ${FRONT_END_PATH}/package*.json ./
RUN npm install --loglevel verbose --force
# Build (no need to build. Static files project)
# COPY ${FRONT_END_PATH}/ .
# RUN npm run build --loglevel verbose
# ============================
# Prepare Building Environment
FROM hub.aiursoft.cn/mcr.microsoft.com/dotnet/sdk:9.0 AS build-env
# Prepare .NET binaries
# ============================
FROM --platform=$BUILDPLATFORM hub.aiursoft.com/aiursoft/internalimages/dotnet AS build-env
ARG CSPROJ_PATH
ARG PROJ_NAME
ARG TARGETARCH
WORKDIR /src
COPY --from=npm-env /src .
# Build
RUN dotnet publish ${CSPROJ_PATH}${PROJ_NAME}.csproj --configuration Release --no-self-contained --runtime linux-x64 --output /app
RUN cp -r ${CSPROJ_PATH}/wwwroot/* /app/wwwroot
COPY . .
RUN if [ "$TARGETARCH" = "arm64" ]; then \
RID="linux-arm64"; \
elif [ "$TARGETARCH" = "amd64" ]; then \
RID="linux-x64"; \
else \
RID="linux-$TARGETARCH"; \
fi && \
echo "Building for arch: $TARGETARCH, using .NET RID: $RID" && \
dotnet publish ${CSPROJ_PATH}/${PROJ_NAME}.csproj --configuration Release --no-self-contained --runtime $RID --output /app
# ============================
# Prepare Runtime Environment
FROM hub.aiursoft.cn/mcr.microsoft.com/dotnet/aspnet:9.0
# Prepare runtime image
# ============================
FROM hub.aiursoft.com/aiursoft/internalimages/dotnetonlyruntime
ARG PROJ_NAME
WORKDIR /app
COPY --from=build-env /app .
# Install wget and curl
RUN apt update; DEBIAN_FRONTEND=noninteractive apt install -y wget curl
COPY --from=npm-env /src ./wwwroot
# Edit appsettings.json
RUN sed -i 's/DataSource=app.db/DataSource=\/data\/app.db/g' appsettings.json
RUN sed -i 's/\/tmp\/data/\/data/g' appsettings.json
RUN mkdir -p /data
RUN sed -i 's/DataSource=app.db/DataSource=\/data\/app.db/g' appsettings.json && \
sed -i 's/\/tmp\/data/\/data/g' appsettings.json && \
mkdir -p /data
VOLUME /data
EXPOSE 5000
+13 -13
View File
@@ -1,11 +1,11 @@
# ChessServer
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitlab.aiursoft.cn/aiursoft/ChessServer/-/blob/master/LICENSE)
[![Pipeline stat](https://gitlab.aiursoft.cn/aiursoft/ChessServer/badges/master/pipeline.svg)](https://gitlab.aiursoft.cn/aiursoft/ChessServer/-/pipelines)
[![Test Coverage](https://gitlab.aiursoft.cn/aiursoft/ChessServer/badges/master/coverage.svg)](https://gitlab.aiursoft.cn/aiursoft/ChessServer/-/pipelines)
[![ManHours](https://manhours.aiursoft.cn/r/gitlab.aiursoft.cn/aiursoft/ChessServer.svg)](https://gitlab.aiursoft.cn/aiursoft/ChessServer/-/commits/master?ref_type=heads)
[![Website](https://img.shields.io/website?url=https%3A%2F%2Fchess.aiursoft.cn%2F)](https://chess.aiursoft.cn)
[![Docker](https://img.shields.io/badge/docker-latest-blue?logo=docker)](https://hub.aiursoft.cn/#!/taglist/aiursoft/chessserver)
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitlab.aiursoft.com/aiursoft/ChessServer/-/blob/master/LICENSE)
[![Pipeline stat](https://gitlab.aiursoft.com/aiursoft/ChessServer/badges/master/pipeline.svg)](https://gitlab.aiursoft.com/aiursoft/ChessServer/-/pipelines)
[![Test Coverage](https://gitlab.aiursoft.com/aiursoft/ChessServer/badges/master/coverage.svg)](https://gitlab.aiursoft.com/aiursoft/ChessServer/-/pipelines)
[![Man hours](https://manhours.aiursoft.com/r/gitlab.aiursoft.com/aiursoft/ChessServer.svg)](https://manhours.aiursoft.com/r/gitlab.aiursoft.com/aiursoft/ChessServer.html)
[![Website](https://img.shields.io/website?url=https%3A%2F%2Fchess.aiursoft.com)](https://chess.aiursoft.com)
[![Docker](https://img.shields.io/docker/pulls/aiursoft/chessserver.svg)](https://hub.docker.com/r/aiursoft/chessserver)
ChessServer is just a simple web-based chess server. Based on WebSocket. Can be played with sharing link with friends. No sign up required.
@@ -13,22 +13,22 @@ ChessServer is just a simple web-based chess server. Based on WebSocket. Can be
## Try
Try a running ChessServer [here](https://chess.aiursoft.cn).
Try a running ChessServer [here](https://chess.aiursoft.com).
## Run in Ubuntu
The following script will install\update this app on your Ubuntu server. Supports Ubuntu 22.04.
The following script will install\update this app on your Ubuntu server. Supports Ubuntu 25.04.
On your Ubuntu server, run the following command:
```bash
curl -sL https://gitlab.aiursoft.cn/aiursoft/chessserver/-/raw/master/install.sh | sudo bash
curl -sL https://gitlab.aiursoft.com/aiursoft/chessserver/-/raw/master/install.sh | sudo bash
```
Of course it is suggested that append a custom port number to the command:
```bash
curl -sL https://gitlab.aiursoft.cn/aiursoft/chessserver/-/raw/master/install.sh | sudo bash -s 8080
curl -sL https://gitlab.aiursoft.com/aiursoft/chessserver/-/raw/master/install.sh | sudo bash -s 8080
```
It will install the app as a systemd service, and start it automatically. Binary files will be located at `/opt/apps`. Service files will be located at `/etc/systemd/system`.
@@ -37,7 +37,7 @@ It will install the app as a systemd service, and start it automatically. Binary
Requirements about how to run
1. Install [.NET 9 SDK](http://dot.net/) and [Node.js](https://nodejs.org/).
1. Install [.NET 10 SDK](http://dot.net/) and [Node.js](https://nodejs.org/).
2. Execute `npm install` at `wwwroot` folder to install the dependencies.
3. Execute `dotnet run` to run the app.
4. Use your browser to view [http://localhost:5000](http://localhost:5000).
@@ -54,7 +54,7 @@ First, install Docker [here](https://docs.docker.com/get-docker/).
Then run the following commands in a Linux shell:
```bash
image=hub.aiursoft.cn/aiursoft/chessserver
image=aiursoft/chessserver
appName=chessserver
sudo docker pull $image
sudo docker run -d --name $appName --restart unless-stopped -p 5000:5000 -v /var/www/$appName:/data $image
@@ -66,7 +66,7 @@ The docker image has the following context:
| Properties | Value |
|-------------|-------------------------------------|
| Image | hub.aiursoft.cn/aiursoft/chessserver|
| Image | aiursoft/chessserver |
| Ports | 5000 |
| Binary path | /app |
| Data path | /data |
+2 -2
View File
@@ -1,7 +1,7 @@
aiur() { arg="$( cut -d ' ' -f 2- <<< "$@" )" && curl -sL https://gitlab.aiursoft.cn/aiursoft/aiurscript/-/raw/master/$1.sh | sudo bash -s $arg; }
aiur() { arg="$( cut -d ' ' -f 2- <<< "$@" )" && curl -sL https://gitlab.aiursoft.com/aiursoft/aiurscript/-/raw/master/$1.sh | sudo bash -s $arg; }
app_name="chessserver"
repo_path="https://gitlab.aiursoft.cn/aiursoft/chessserver"
repo_path="https://gitlab.aiursoft.com/aiursoft/chessserver"
proj_path="src/Aiursoft.ChessServer/Aiursoft.ChessServer.csproj"
get_dll_name()
+86
View File
@@ -0,0 +1,86 @@
#!/bin/bash
# Configuration matches .gitlab-ci.yml
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export PATH=$PATH:$HOME/.dotnet/tools
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
# Cleanup only if not in CI (GitLab CI sets the CI variable)
if [ -z "$CI" ]; then
trap 'rm -f analyze_output.xml' EXIT
fi
echo "Checking for JetBrains ReSharper Global Tools..."
if ! command -v jb &> /dev/null; then
echo "jb not found, installing..."
dotnet tool install JetBrains.ReSharper.GlobalTools --global --add-source https://nuget.aiursoft.com/v3/index.json --configfile ./nuget.config -v d
else
echo "jb is already installed."
fi
echo "Restoring dependencies..."
dotnet restore --no-cache --configfile nuget.config || \
(echo "Restore failed. Retrying in 10 seconds..." && sleep 10 && dotnet restore --no-cache --configfile nuget.config)
echo "Running ReSharper Code Inspection..."
# 3 times retry because sometimes the first time will fail (copied from CI)
if ! jb inspectcode ./*.sln --output=analyze_output.xml --build -f=xml &> /dev/null; then
echo "First attempt failed, retrying..."
if ! jb inspectcode ./*.sln --output=analyze_output.xml --build -f=xml &> /dev/null; then
echo "Second attempt failed, retrying..."
jb inspectcode ./*.sln --output=analyze_output.xml --build -f=xml &> /dev/null
fi
fi
echo "Filtering known false positives..."
# Current filters from .gitlab-ci.yml
sed -i '/InconsistentNaming/d' analyze_output.xml
sed -i '/AssignNullToNotNullAttribute/d' analyze_output.xml
sed -i '/UnusedAutoPropertyAccessor/d' analyze_output.xml
sed -i '/DuplicateResource/d' analyze_output.xml
sed -i '/NotOverriddenInSpecificCulture/d' analyze_output.xml
# Check for warnings
# Mimic .gitlab-ci.yml logic: Fail if 'WARNING' string is found.
if grep -q 'WARNING' analyze_output.xml; then
echo -e "${RED}Linting FAILED!${NC}"
echo "Issues found:"
# Filter issues to only show those with Severity="WARNING" or "ERROR"
# Identify IssueTypes that are Warnings or Errors
# We use grep and cut to extract the IDs purely from lines with Severity="WARNING" or "ERROR"
WARNING_IDS=$(grep -E 'Severity="(WARNING|ERROR)"' analyze_output.xml | grep -o 'Id="[^"]*"' | cut -d'"' -f2)
# Check if we found any IDs (to avoid syntax errors in loop if empty, though unlikely if grep passed)
if [ ! -z "$WARNING_IDS" ]; then
for ID in $WARNING_IDS; do
# Find issues matching this TypeId
# We assume one issue per line
grep "TypeId=\"$ID\"" analyze_output.xml | while read -r line; do
# Extract attributes using grep -o (lazy parsing)
FILE=$(echo "$line" | grep -o 'File="[^"]*"' | cut -d'"' -f2 | sed 's/\\/\//g')
LINE=$(echo "$line" | grep -o 'Line="[^"]*"' | cut -d'"' -f2)
if [ -z "$LINE" ]; then
OFFSET=$(echo "$line" | grep -o 'Offset="[^"]*"' | cut -d'"' -f2)
if [ ! -z "$OFFSET" ]; then
LINE="Offset $OFFSET"
else
LINE="Unknown"
fi
fi
MSG=$(echo "$line" | grep -o 'Message="[^"]*"' | cut -d'"' -f2)
echo "File: $FILE | Line: $LINE | Reason: $MSG"
done
done
else
echo "Warning severity found in header, but no specific IssueType IDs extracted. Check XML format."
fi
exit 1
else
echo -e "${GREEN}Linting PASSED! No warnings found.${NC}"
fi
+10 -7
View File
@@ -1,16 +1,19 @@
configVersion: 1
files:
- name: .editorconfig
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/.editorconfig
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/.editorconfig
- name: .gitignore
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/.gitignore
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/.gitignore
- name: .gitlab-ci.yml
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/.gitlab-ci.yml
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/.gitlab-ci.yml
- name: lint.sh
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/lint.sh
- name: LICENSE
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/LICENSE
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/LICENSE
- name: CODE_OF_CONDUCT.md
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/CODE_OF_CONDUCT.md
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/CODE_OF_CONDUCT.md
- name: ninja.yaml
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/ninja.yaml
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/ninja.yaml
- name: nuget.config
contentUri: https://gitlab.aiursoft.cn/aiursoft/tracer/-/raw/master/nuget.config
contentUri: https://gitlab.aiursoft.com/aiursoft/template/-/raw/master/nuget.config
- name: README.md
+1 -1
View File
@@ -2,6 +2,6 @@
<configuration>
<packageSources>
<clear />
<add key="nuget" value="https://nuget.aiursoft.cn/v3/index.json" />
<add key="nuget" value="https://nuget.aiursoft.com/v3/index.json" />
</packageSources>
</configuration>
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<AssemblyName>Aiursoft.ChessServer</AssemblyName>
<RootNamespace>Aiursoft.ChessServer</RootNamespace>
<IsTestProject>false</IsTestProject>
@@ -10,12 +10,12 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aiursoft.AiurObserver.Extensions" Version="9.0.0" />
<PackageReference Include="Aiursoft.AiurObserver.WebSocket.Server" Version="9.0.0" />
<PackageReference Include="Aiursoft.InMemoryKvDb" Version="1.0.7" />
<PackageReference Include="Aiursoft.Scanner" Version="9.0.1" />
<PackageReference Include="Aiursoft.WebTools" Version="9.0.0" />
<PackageReference Include="Gera.Chess" Version="1.1.1" />
<PackageReference Include="LynxChess.Lynx" Version="1.8.0" />
<PackageReference Include="Aiursoft.AiurObserver.Extensions" Version="10.0.6" />
<PackageReference Include="Aiursoft.AiurObserver.WebSocket.Server" Version="10.0.8" />
<PackageReference Include="Aiursoft.InMemoryKvDb" Version="10.0.7" />
<PackageReference Include="Aiursoft.Scanner" Version="10.0.7" />
<PackageReference Include="Aiursoft.WebTools" Version="10.0.11" />
<PackageReference Include="Gera.Chess" Version="1.2.0" />
<PackageReference Include="LynxChess.Lynx" Version="1.11.0" />
</ItemGroup>
</Project>
@@ -6,7 +6,6 @@ namespace Aiursoft.ChessServer.Controllers;
public class HomeController(InMemoryDatabase database) : Controller
{
[HttpGet]
public IActionResult Index()
{
var model = new IndexViewModel
@@ -19,7 +19,7 @@
<header>
<nav class="navbar fixed-top navbar-expand-md mb-3">
<div class="container">
<a class="navbar-brand" href="https://www.aiursoft.cn">
<a class="navbar-brand" href="https://www.aiursoft.com">
Aiursoft
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
@@ -55,7 +55,7 @@
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://gitlab.aiursoft.cn/aiursoft/chessserver">
<a class="nav-link" href="https://gitlab.aiursoft.com/aiursoft/chessserver">
<i class="fab fa-gitlab"></i>
Source Code
</a>
@@ -99,7 +99,7 @@
<div class="container">
&copy; @DateTime.UtcNow.Year - Aiursoft.ChessServer -
<a
href="https://gitlab.aiursoft.cn/aiursoft/chessserver">
href="https://gitlab.aiursoft.com/aiursoft/chessserver">
GitLab
</a>
</div>
+1 -1
View File
@@ -1 +1 @@
registry=https://npm.aiursoft.cn
registry=https://npm.aiursoft.com
+14 -14
View File
@@ -20,7 +20,7 @@
},
"node_modules/@aiursoft/autodark.js": {
"version": "1.2.0",
"resolved": "https://npm.aiursoft.cn/@aiursoft/autodark.js/-/autodark.js-1.2.0.tgz",
"resolved": "https://npm.aiursoft.com/@aiursoft/autodark.js/-/autodark.js-1.2.0.tgz",
"integrity": "sha512-3EZh7AaT2ns2DGq24HMcNxAjSVSST49t/tZhR2MV0pxrwYgb+1SCk6zj9qv4TJB1bAixM0K/5nsH0YazZzfvng==",
"license": "MIT",
"dependencies": {
@@ -29,7 +29,7 @@
},
"node_modules/@chrisoakman/chessboardjs": {
"version": "1.0.0",
"resolved": "https://npm.aiursoft.cn/@chrisoakman/chessboardjs/-/chessboardjs-1.0.0.tgz",
"resolved": "https://npm.aiursoft.com/@chrisoakman/chessboardjs/-/chessboardjs-1.0.0.tgz",
"integrity": "sha512-JHXHoQwwc86xW3F0YIdFcEWLnPldee5mHkqwJbOTeDh5gvNmYXyBj6AkeecDkj2WtORF959yaWYlpyZHUl3LCQ==",
"license": "MIT",
"dependencies": {
@@ -38,7 +38,7 @@
},
"node_modules/@fortawesome/fontawesome-free": {
"version": "6.6.0",
"resolved": "https://npm.aiursoft.cn/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz",
"resolved": "https://npm.aiursoft.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz",
"integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==",
"license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)",
"engines": {
@@ -47,7 +47,7 @@
},
"node_modules/bootstrap": {
"version": "4.6.2",
"resolved": "https://npm.aiursoft.cn/bootstrap/-/bootstrap-4.6.2.tgz",
"resolved": "https://npm.aiursoft.com/bootstrap/-/bootstrap-4.6.2.tgz",
"integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==",
"funding": [
{
@@ -67,13 +67,13 @@
},
"node_modules/chess.js": {
"version": "1.0.0-beta.8",
"resolved": "https://npm.aiursoft.cn/chess.js/-/chess.js-1.0.0-beta.8.tgz",
"resolved": "https://npm.aiursoft.com/chess.js/-/chess.js-1.0.0-beta.8.tgz",
"integrity": "sha512-UngzUMXmexcQaQA/UEJuJj5vatEy34awYMD5YMOp/FW3HM7lqspp7ymYs5JAmquDq0WROtURRfSffoa/vrCCyw==",
"license": "BSD-2-Clause"
},
"node_modules/clipboard": {
"version": "2.0.11",
"resolved": "https://npm.aiursoft.cn/clipboard/-/clipboard-2.0.11.tgz",
"resolved": "https://npm.aiursoft.com/clipboard/-/clipboard-2.0.11.tgz",
"integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
"license": "MIT",
"dependencies": {
@@ -84,13 +84,13 @@
},
"node_modules/delegate": {
"version": "3.2.0",
"resolved": "https://npm.aiursoft.cn/delegate/-/delegate-3.2.0.tgz",
"resolved": "https://npm.aiursoft.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
"license": "MIT"
},
"node_modules/good-listener": {
"version": "1.2.2",
"resolved": "https://npm.aiursoft.cn/good-listener/-/good-listener-1.2.2.tgz",
"resolved": "https://npm.aiursoft.com/good-listener/-/good-listener-1.2.2.tgz",
"integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
"license": "MIT",
"dependencies": {
@@ -99,13 +99,13 @@
},
"node_modules/jquery": {
"version": "3.7.1",
"resolved": "https://npm.aiursoft.cn/jquery/-/jquery-3.7.1.tgz",
"resolved": "https://npm.aiursoft.com/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
"license": "MIT"
},
"node_modules/jquery-validation": {
"version": "1.21.0",
"resolved": "https://npm.aiursoft.cn/jquery-validation/-/jquery-validation-1.21.0.tgz",
"resolved": "https://npm.aiursoft.com/jquery-validation/-/jquery-validation-1.21.0.tgz",
"integrity": "sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==",
"license": "MIT",
"peerDependencies": {
@@ -114,7 +114,7 @@
},
"node_modules/jquery-validation-unobtrusive": {
"version": "3.2.12",
"resolved": "https://npm.aiursoft.cn/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.2.12.tgz",
"resolved": "https://npm.aiursoft.com/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.2.12.tgz",
"integrity": "sha512-kPixGhVcuat7vZXngGFfSIksy4VlzZcHyRgnBIZdsfVneCU+D5sITC8T8dD/9c9K/Q+qkMlgp7ufJHz93nKSuQ==",
"license": "https://aka.ms/jqueryunobtrusivelicense",
"dependencies": {
@@ -124,7 +124,7 @@
},
"node_modules/popper.js": {
"version": "1.16.1",
"resolved": "https://npm.aiursoft.cn/popper.js/-/popper.js-1.16.1.tgz",
"resolved": "https://npm.aiursoft.com/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
"license": "MIT",
@@ -136,13 +136,13 @@
},
"node_modules/select": {
"version": "1.1.2",
"resolved": "https://npm.aiursoft.cn/select/-/select-1.1.2.tgz",
"resolved": "https://npm.aiursoft.com/select/-/select-1.1.2.tgz",
"integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==",
"license": "MIT"
},
"node_modules/tiny-emitter": {
"version": "2.1.0",
"resolved": "https://npm.aiursoft.cn/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"resolved": "https://npm.aiursoft.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
"license": "MIT"
}
@@ -7,7 +7,7 @@
"dependencies": {
"@aiursoft/autodark.js": "^1.2.0",
"@chrisoakman/chessboardjs": "^1.0.0",
"chess.js": "^1.0.0-beta.6",
"chess.js": "^1.0.0",
"clipboard": "^2.0.11",
"jquery-validation": "^1.19.5",
"jquery-validation-unobtrusive": "^3.2.12",
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<OutputType>Library</OutputType>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>Aiursoft.ChessServer.Tests</RootNamespace>
<IsTestProject>true</IsTestProject>
<IsPackable>false</IsPackable>
@@ -9,15 +9,14 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.3">
<PackageReference Include="coverlet.collector" Version="10.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="JunitXml.TestLogger" Version="5.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.7.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.7.0" />
<PackageReference Include="AngleSharp" Version="1.2.0" />
<PackageReference Include="JunitXml.TestLogger" Version="8.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.5.1" />
<PackageReference Include="MSTest.TestAdapter" Version="4.2.2" />
<PackageReference Include="AngleSharp" Version="1.4.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Aiursoft.ChessServer\Aiursoft.ChessServer.csproj" />
@@ -7,7 +7,7 @@ using Aiursoft.ChessServer.Models;
using Aiursoft.CSTools.Tools;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using static Aiursoft.WebTools.Extends;
// ReSharper disable StringLiteralTypo