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.AspNetCore.Mvc.Core" Version="2.2.5" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.2" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.2" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.0" />
|
<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="Quartz.AspNetCore" Version="3.6.0" />
|
||||||
<PackageReference Include="Riok.Mapperly" Version="2.7.0-next.2" />
|
<PackageReference Include="Riok.Mapperly" Version="2.7.0-next.2" />
|
||||||
<PackageReference Include="Throw" Version="1.3.1" />
|
<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 =>
|
q.AddTrigger(options =>
|
||||||
{
|
{
|
||||||
options.ForJob(MaintainTenpoIdJob.KEY)
|
options.ForJob(MaintainNullValuesJob.KEY)
|
||||||
.WithIdentity("MaintainTenpoIdJob-trigger")
|
.WithIdentity("MaintainNullValuesJob-trigger")
|
||||||
.StartNow()
|
.StartNow()
|
||||||
.WithSimpleSchedule(x =>
|
.WithSimpleSchedule(x =>
|
||||||
{
|
{
|
||||||
|
@ -25,7 +25,7 @@ public class ReadAvatarQueryHandler : RequestHandlerBase<ReadAvatarQuery, string
|
|||||||
Created = "2013-01-01 08:00:00",
|
Created = "2013-01-01 08:00:00",
|
||||||
Modified = "2013-01-01 08:00:00",
|
Modified = "2013-01-01 08:00:00",
|
||||||
NewFlag = 0,
|
NewFlag = 0,
|
||||||
UseFlag = i == 10 ? 0 : 1
|
UseFlag = 1
|
||||||
};
|
};
|
||||||
list.Add(avatar);
|
list.Add(avatar);
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ public class ReadNavigatorQueryHandler : RequestHandlerBase<ReadNavigatorQuery,
|
|||||||
Created = "2013-01-01 08:00:00",
|
Created = "2013-01-01 08:00:00",
|
||||||
Modified = "2013-01-01 08:00:00",
|
Modified = "2013-01-01 08:00:00",
|
||||||
NewFlag = 0,
|
NewFlag = 0,
|
||||||
UseFlag = i == 10 ? 0 : 1
|
UseFlag = 1
|
||||||
};
|
};
|
||||||
list.Add(navigator);
|
list.Add(navigator);
|
||||||
}
|
}
|
||||||
|
@ -4,15 +4,15 @@ using Quartz;
|
|||||||
|
|
||||||
namespace Application.Jobs;
|
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;
|
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.logger = logger;
|
||||||
this.cardDbContext = cardDbContext;
|
this.cardDbContext = cardDbContext;
|
||||||
@ -26,8 +26,13 @@ public class MaintainTenpoIdJob : IJob
|
|||||||
logger.LogInformation("Starting changing null values in card detail table");
|
logger.LogInformation("Starting changing null values in card detail table");
|
||||||
|
|
||||||
var details = await cardDbContext.CardDetails.Where(detail => detail.LastPlayTenpoId == null ||
|
var details = await cardDbContext.CardDetails.Where(detail => detail.LastPlayTenpoId == null ||
|
||||||
detail.LastPlayTenpoId == "GC local server").ToListAsync();
|
detail.LastPlayTenpoId == "GC local server"
|
||||||
details.ForEach(detail => detail.LastPlayTenpoId="1337");
|
|| detail.LastPlayTime == null).ToListAsync();
|
||||||
|
details.ForEach(detail =>
|
||||||
|
{
|
||||||
|
detail.LastPlayTenpoId = "1337";
|
||||||
|
detail.LastPlayTime = DateTime.MinValue;
|
||||||
|
});
|
||||||
|
|
||||||
cardDbContext.CardDetails.UpdateRange(details);
|
cardDbContext.CardDetails.UpdateRange(details);
|
||||||
var count = await cardDbContext.SaveChangesAsync(new CancellationToken());
|
var count = await cardDbContext.SaveChangesAsync(new CancellationToken());
|
@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GC-local-server-rewrite", "
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedProject", "SharedProject\SharedProject.csproj", "{C01D0576-9D4E-4535-8055-C4905433A1EB}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedProject", "SharedProject\SharedProject.csproj", "{C01D0576-9D4E-4535-8055-C4905433A1EB}"
|
||||||
EndProject
|
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}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GCRelayServer", "GCRelayServer\GCRelayServer.csproj", "{268178DF-6345-4D9E-A389-9E809CBF39C9}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatchServer", "MatchServer\MatchServer.csproj", "{CB91C3D3-ED69-4DC6-A205-B262A08BEE49}"
|
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}.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.ActiveCfg = Release|Any CPU
|
||||||
{C01D0576-9D4E-4535-8055-C4905433A1EB}.Release|Any CPU.Build.0 = 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.ActiveCfg = Debug|Any CPU
|
||||||
{268178DF-6345-4D9E-A389-9E809CBF39C9}.Debug|Any CPU.Build.0 = 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
|
{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>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" />
|
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" />
|
||||||
<ProjectReference Include="..\WebUI\WebUI.csproj" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Logs" />
|
<Folder Include="Logs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup Condition="'$(Configuration)'=='Debug'">
|
||||||
|
<ProjectReference Include="..\WebUI\WebUI.csproj" />
|
||||||
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.boot.json" />
|
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.boot.json" />
|
||||||
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.webassembly.js" />
|
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.webassembly.js" />
|
||||||
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.webassembly.js.gz" />
|
<_ContentIncludedByDefault Remove="wwwroot\_framework\blazor.webassembly.js.gz" />
|
||||||
|
@ -17,5 +17,9 @@
|
|||||||
<ProjectReference Include="..\Shared\Shared.csproj" />
|
<ProjectReference Include="..\Shared\Shared.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<_ContentIncludedByDefault Remove="wwwroot\sample-data\weather.json" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
||||||
</Project>
|
</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