Minor fixes and prepare for release
This commit is contained in:
parent
eb4380b6d5
commit
7c5c2fafb7
@ -19,6 +19,7 @@
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.0" />
|
||||
<PackageReference Include="Microsoft.NETCore.Targets" Version="6.0.0-preview.4.21253.7" />
|
||||
<PackageReference Include="Quartz.AspNetCore" Version="3.6.0" />
|
||||
<PackageReference Include="Riok.Mapperly" Version="2.7.0-next.2" />
|
||||
<PackageReference Include="Throw" Version="1.3.1" />
|
||||
|
@ -56,11 +56,11 @@ public static class DependencyInjection
|
||||
});
|
||||
});
|
||||
|
||||
q.AddJob<MaintainTenpoIdJob>(options => options.WithIdentity(MaintainTenpoIdJob.KEY));
|
||||
q.AddJob<MaintainNullValuesJob>(options => options.WithIdentity(MaintainNullValuesJob.KEY));
|
||||
q.AddTrigger(options =>
|
||||
{
|
||||
options.ForJob(MaintainTenpoIdJob.KEY)
|
||||
.WithIdentity("MaintainTenpoIdJob-trigger")
|
||||
options.ForJob(MaintainNullValuesJob.KEY)
|
||||
.WithIdentity("MaintainNullValuesJob-trigger")
|
||||
.StartNow()
|
||||
.WithSimpleSchedule(x =>
|
||||
{
|
||||
|
@ -25,7 +25,7 @@ public class ReadAvatarQueryHandler : RequestHandlerBase<ReadAvatarQuery, string
|
||||
Created = "2013-01-01 08:00:00",
|
||||
Modified = "2013-01-01 08:00:00",
|
||||
NewFlag = 0,
|
||||
UseFlag = i == 10 ? 0 : 1
|
||||
UseFlag = 1
|
||||
};
|
||||
list.Add(avatar);
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ public class ReadNavigatorQueryHandler : RequestHandlerBase<ReadNavigatorQuery,
|
||||
Created = "2013-01-01 08:00:00",
|
||||
Modified = "2013-01-01 08:00:00",
|
||||
NewFlag = 0,
|
||||
UseFlag = i == 10 ? 0 : 1
|
||||
UseFlag = 1
|
||||
};
|
||||
list.Add(navigator);
|
||||
}
|
||||
|
@ -4,15 +4,15 @@ using Quartz;
|
||||
|
||||
namespace Application.Jobs;
|
||||
|
||||
public class MaintainTenpoIdJob : IJob
|
||||
public class MaintainNullValuesJob : IJob
|
||||
{
|
||||
private readonly ILogger<MaintainTenpoIdJob> logger;
|
||||
private readonly ILogger<MaintainNullValuesJob> logger;
|
||||
|
||||
private readonly ICardDbContext cardDbContext;
|
||||
|
||||
public static readonly JobKey KEY = new("MaintainTenpoIdJob");
|
||||
public static readonly JobKey KEY = new("MaintainNullValuesJob");
|
||||
|
||||
public MaintainTenpoIdJob(ILogger<MaintainTenpoIdJob> logger, ICardDbContext cardDbContext)
|
||||
public MaintainNullValuesJob(ILogger<MaintainNullValuesJob> logger, ICardDbContext cardDbContext)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.cardDbContext = cardDbContext;
|
||||
@ -26,8 +26,13 @@ public class MaintainTenpoIdJob : IJob
|
||||
logger.LogInformation("Starting changing null values in card detail table");
|
||||
|
||||
var details = await cardDbContext.CardDetails.Where(detail => detail.LastPlayTenpoId == null ||
|
||||
detail.LastPlayTenpoId == "GC local server").ToListAsync();
|
||||
details.ForEach(detail => detail.LastPlayTenpoId="1337");
|
||||
detail.LastPlayTenpoId == "GC local server"
|
||||
|| detail.LastPlayTime == null).ToListAsync();
|
||||
details.ForEach(detail =>
|
||||
{
|
||||
detail.LastPlayTenpoId = "1337";
|
||||
detail.LastPlayTime = DateTime.MinValue;
|
||||
});
|
||||
|
||||
cardDbContext.CardDetails.UpdateRange(details);
|
||||
var count = await cardDbContext.SaveChangesAsync(new CancellationToken());
|
@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GC-local-server-rewrite", "
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedProject", "SharedProject\SharedProject.csproj", "{C01D0576-9D4E-4535-8055-C4905433A1EB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MudAdmin", "MudAdmin\MudAdmin.csproj", "{DC8E30E9-F81E-4E28-A4D2-F4576C77FFBE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GCRelayServer", "GCRelayServer\GCRelayServer.csproj", "{268178DF-6345-4D9E-A389-9E809CBF39C9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatchServer", "MatchServer\MatchServer.csproj", "{CB91C3D3-ED69-4DC6-A205-B262A08BEE49}"
|
||||
@ -39,10 +37,6 @@ Global
|
||||
{C01D0576-9D4E-4535-8055-C4905433A1EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C01D0576-9D4E-4535-8055-C4905433A1EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C01D0576-9D4E-4535-8055-C4905433A1EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DC8E30E9-F81E-4E28-A4D2-F4576C77FFBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DC8E30E9-F81E-4E28-A4D2-F4576C77FFBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DC8E30E9-F81E-4E28-A4D2-F4576C77FFBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DC8E30E9-F81E-4E28-A4D2-F4576C77FFBE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{268178DF-6345-4D9E-A389-9E809CBF39C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{268178DF-6345-4D9E-A389-9E809CBF39C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{268178DF-6345-4D9E-A389-9E809CBF39C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
12
MainServer/.config/dotnet-tools.json
Normal file
12
MainServer/.config/dotnet-tools.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"dotnet-ef": {
|
||||
"version": "7.0.3",
|
||||
"commands": [
|
||||
"dotnet-ef"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -94,14 +94,14 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\WebUI\WebUI.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Logs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<ProjectReference Include="..\WebUI\WebUI.csproj" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.boot.json" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.webassembly.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.webassembly.js.gz" />
|
||||
|
@ -17,5 +17,9 @@
|
||||
<ProjectReference Include="..\Shared\Shared.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\sample-data\weather.json" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
</Project>
|
@ -1,27 +0,0 @@
|
||||
[
|
||||
{
|
||||
"date": "2018-05-06",
|
||||
"temperatureC": 1,
|
||||
"summary": "Freezing"
|
||||
},
|
||||
{
|
||||
"date": "2018-05-07",
|
||||
"temperatureC": 14,
|
||||
"summary": "Bracing"
|
||||
},
|
||||
{
|
||||
"date": "2018-05-08",
|
||||
"temperatureC": -13,
|
||||
"summary": "Freezing"
|
||||
},
|
||||
{
|
||||
"date": "2018-05-09",
|
||||
"temperatureC": -16,
|
||||
"summary": "Balmy"
|
||||
},
|
||||
{
|
||||
"date": "2018-05-10",
|
||||
"temperatureC": -2,
|
||||
"summary": "Chilly"
|
||||
}
|
||||
]
|
134
doc/Certifications.md
Normal file
134
doc/Certifications.md
Normal file
@ -0,0 +1,134 @@
|
||||
# Run on Arcade Machine
|
||||
|
||||
Since the arcade is using some version XP, which does not support SHA256, the generated certification will not work.
|
||||
|
||||
To solve this issue, you have to generate a certification using weaker signature algorithm.
|
||||
|
||||
For certificate generation, I am using https://certificatetools.com/
|
||||
|
||||
## Generate Root CA
|
||||
|
||||
First generate a root CA, by choosing the Root Certificate Authority.
|
||||
|
||||
Under Subject Attributes, set Common Name to "Taito Arcade Machine CA", others are optional and can have any value.
|
||||
|
||||
Under CSR options, choose MD5 as hash algorithm, choose Self-Sign type, then input year number.
|
||||
|
||||
Submit and download "PKCS#12 Certificate and Key".
|
||||
|
||||
## Generate Server Certificate
|
||||
|
||||
Then generate server certificate, by choose Web Server as template.
|
||||
|
||||
Under Subject Attributes, change Common Name to "GC local server"
|
||||
|
||||
Under Subject Alternative Names, add DNS: cert.nesys.jp,data.nesys.jp,nesys.taito.co.jp,fjm170920zero.nesica.net
|
||||
|
||||
Under CSR options, choose MD5 as hash algorithm, choose Sign With Certificate Authority 0 (the one just generated), then input year number.
|
||||
|
||||
Submit and download "PKCS#12 Certificate and Key".
|
||||
|
||||
## Import to server side
|
||||
|
||||
In server side, import the certificates using mmc.exe. You can find a detailed guide at https://www.thesslstore.com/knowledgebase/ssl-install/how-to-import-intermediate-root-certificates-using-mmc/
|
||||
|
||||
Before import, first delete any old certificate Named "Taito Arcade Machine CA" or "GC local server" under Personal and "Trusted Root Certification Authorities"
|
||||
|
||||
The root certificate goes to "Personal" and "Trusted Root Certification Authorities"
|
||||
|
||||
The server certificate goes to "Personal"
|
||||
|
||||
## Import to game side
|
||||
|
||||
On the machine, first download and install http://outwardtruth.com/tools/win2k3tools/win2k3resourcetoolkit.htm
|
||||
|
||||
After that, you will get WinHttpCertCfg.exe in "C:\Program Files\Windows Resource Kits\Tools". Use the following cmd to import root certificate
|
||||
|
||||
```
|
||||
WinHttpCertCfg -i "E:\0_GC_LOCAL_SERVER\root.pfx" -C LOCAL_MACHINE\Root -a SYSTEM
|
||||
```
|
||||
|
||||
After that, using IE to install the 2 certificates to MY(Personal) tab
|
||||
|
||||
## Config the server
|
||||
|
||||
In server, the config file is GC-local-server-rewrite.exe.config
|
||||
|
||||
There, you will find an XML entry
|
||||
|
||||
```xml
|
||||
<add key="ServerIp" value="127.0.0.1"/>
|
||||
```
|
||||
|
||||
Change value to the real server Ip
|
||||
|
||||
Currently, there are two DB files, music.db3 and music4MAX.db3, which correspond to 4.52 and 4.61 data, change the following field according to your game version.
|
||||
|
||||
```xml
|
||||
<add key="MusicDBName" value="music.db3"/>
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Config host file
|
||||
|
||||
In game side, change the host file, add the following entries
|
||||
|
||||
```
|
||||
127.0.0.1 cert.nesys.jp
|
||||
127.0.0.1 data.nesys.jp
|
||||
127.0.0.1 nesys.taito.co.jp
|
||||
127.0.0.1 fjm170920zero.nesica.net
|
||||
```
|
||||
|
||||
You can now try to boot the game, it should be able to connect to the server.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
Import following to registry
|
||||
|
||||
```
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\TAITO]
|
||||
"DisableLocalServer"=dword:00000001
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\TAITO\TYPEX]
|
||||
"UpdateStep"=dword:00000000
|
||||
"LogLevel"=dword:00000003
|
||||
"TrafficCount"=dword:00000002
|
||||
"ConditionTime"=dword:0000012c
|
||||
"EventNextTime"=dword:00000384
|
||||
"LogPath"="D:\\\\system\\\\CmdFile\\\\log"
|
||||
"NewsPath"="D:\\\\system\\\\DUA\\\\news"
|
||||
"EventPath"="D:\\\\system\\\\DUA\\\\event"
|
||||
"Resolution"=dword:00000000
|
||||
"ScreenVertical"=dword:00000000
|
||||
"EventModeEnable"=dword:00000000
|
||||
"CoinCredit"=dword:00000001
|
||||
"UserSelectEnable"=dword:00000000
|
||||
"GameResult"=dword:00000000
|
||||
"IOErrorCoin"=dword:00000000
|
||||
"IOErrorCredit"=dword:00000000
|
||||
"GameKind"=dword:0004A2B9
|
||||
```
|
||||
|
||||
Then boot the game, log files should be under ``D:\system\CmdFile\log``
|
||||
|
||||
Open the one named `access*.log`, where * is the date.
|
||||
|
||||
You can find the communication log, if you see any errors other than 404, report at https://github.com/asesidaa/GC-local-server-rewrite or contact me @asesidaa in discord.
|
||||
|
||||
Some common errors:
|
||||
|
||||
0x00002F8F: Certificate error, either the root certificate is not imported (so not trusted), or the certificate is not correct/not recognized by XP
|
||||
|
||||
0x00002F9A: No private key, check if your certificate file is imported with private key.
|
||||
|
||||
# DAT files
|
||||
|
||||
Under game folder data/boot, there are all the dat files.
|
||||
|
||||
If you have a new version, contact @Javaguru to use his template to parse these, and send me the parsed data.
|
||||
|
||||
For music db, ask for a parsed json file for the new stage_param.dat. I can import these and make a new db file for the new version.
|
Loading…
Reference in New Issue
Block a user