fixes for standard configs
This commit is contained in:
@@ -1,84 +0,0 @@
|
||||
# Installing Mare Server on Ubuntu 20.04 Server LTS
|
||||
|
||||
## Important
|
||||
- **You _will_ need a valid Certificate for the server.**
|
||||
- Set one up using LetsEncrypt or use the one provided by your hoster
|
||||
- The server provided is only guaranteed to run under Ubuntu 20.04 Server LTS. For anything else, you are on your own. The server is provided as a standalone .NET application which does not require .NET Core to be installed.
|
||||
|
||||
## Copy files over
|
||||
- Connect via SCP and copy over all files to some directory
|
||||
- The directory will need to be writeable by the user
|
||||
|
||||
## Install MSSQL Server 2019 CU
|
||||
- Import GPG keys
|
||||
```sh
|
||||
sudo curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
|
||||
```
|
||||
- Add repository
|
||||
```sh
|
||||
sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
|
||||
```
|
||||
- Install SQL Server 2019
|
||||
```
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mssql-server
|
||||
```
|
||||
- Run configuration
|
||||
```
|
||||
sudo /opt/mssql/bin/mssql-conf setup
|
||||
```
|
||||
- Install "3) Express"
|
||||
- Set a password
|
||||
- Verify server is running
|
||||
```
|
||||
systemctl status mssql-server --no-pager
|
||||
```
|
||||
- Optional: set up a separate user for Mare Synchronos
|
||||
- I'll let you figure that out yourself
|
||||
- The user will need database creation rights
|
||||
|
||||
## Configure Mare Server
|
||||
- open provided appsettings.json
|
||||
- edit `DefaultConnection` to `"Server=localhost;User=sa;Password=<sa password>;Database=mare;MultipleActiveResultSets=true"`
|
||||
- if you created a separate user for mare on the SQL Server, specify the username and password here
|
||||
- edit `CacheDirectory` and set it to a path where the file cache is supposed to be located. i.e. `/home/<user>/servercache`
|
||||
- you will also need to create that folder
|
||||
- optional: set Port under edit `Url` and change the `+:5000` to `+:<your port>`
|
||||
|
||||
- Set up `Certificate`
|
||||
- Set `Path` to the certificate file path
|
||||
- Set `Password` to the password of the certificate
|
||||
- If the certificate file is split in private key and public, set `KeyPath` to the private key file
|
||||
- Delete all unused keys from `Certificate`
|
||||
|
||||
## Set up Mare Synchonos Server as a Service
|
||||
- create new file `/etc/systemd/system/MareSynchronosServer.service` with following contents
|
||||
```
|
||||
[Unit]
|
||||
Description=Mare Synchronos Service
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=<path to server files>
|
||||
ExecStart=<path to server files>/MareSynchronosServer
|
||||
SysLogIdentifier=MareSynchronosServer
|
||||
User=<the user to run the service with>
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
- Reload SystemD daemon
|
||||
```
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
- Enable the service with
|
||||
```
|
||||
sudo systemctl enable MareSynchronosServer
|
||||
```
|
||||
- Start the service with
|
||||
```
|
||||
sudo systemctl start MareSynchronosServer
|
||||
```
|
||||
- Log in ingame and add a custom server within the Mare Synchronos Plugin configuration under the address `wss://<your server ip>:<your server port>`
|
||||
- That should be it and your server ready to go and running
|
||||
@@ -199,6 +199,8 @@ namespace MareSynchronosServer.Hubs
|
||||
UploadFileRequest req = new();
|
||||
req.FileData = ByteString.CopyFrom(await File.ReadAllBytesAsync(tempFileName).ConfigureAwait(false));
|
||||
File.Delete(tempFileName);
|
||||
req.Hash = computedHashString;
|
||||
req.Uploader = AuthenticatedUserId;
|
||||
_ = await _fileServiceClient.UploadFileAsync(req).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
"DbContextPoolSize": 2000,
|
||||
"CdnFullUrl": "https://<url or ip to your server>/cache/",
|
||||
"ServiceAddress": "http://localhost:5002",
|
||||
"StaticFileServiceAddress": "http://localhost:5001"
|
||||
"StaticFileServiceAddress": "http://localhost:5003"
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"Kestrel": {
|
||||
|
||||
@@ -30,7 +30,6 @@ public class FileService : MareSynchronosShared.Protos.FileService.FileServiceBa
|
||||
|
||||
public override async Task<Empty> UploadFile(UploadFileRequest request, ServerCallContext context)
|
||||
{
|
||||
|
||||
var filePath = Path.Combine(_basePath, request.Hash);
|
||||
var file = await _mareDbContext.Files.SingleOrDefaultAsync(f => f.Hash == request.Hash && f.UploaderUID == request.Uploader);
|
||||
if (file != null)
|
||||
@@ -83,7 +82,7 @@ public class FileService : MareSynchronosShared.Protos.FileService.FileServiceBa
|
||||
public override Task<FileSizeResponse> GetFileSizes(FileSizeRequest request, ServerCallContext context)
|
||||
{
|
||||
FileSizeResponse response = new();
|
||||
foreach (var hash in request.Hash)
|
||||
foreach (var hash in request.Hash.Distinct())
|
||||
{
|
||||
FileInfo fi = new(Path.Combine(_basePath, hash));
|
||||
if (fi.Exists)
|
||||
|
||||
@@ -65,7 +65,6 @@ public class Startup
|
||||
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
app.UseStaticFiles();
|
||||
app.UseHttpLogging();
|
||||
|
||||
app.UseRouting();
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
"Endpoints": {
|
||||
"Http": {
|
||||
"Url": "http://+:5001"
|
||||
},
|
||||
"Gprc": {
|
||||
"Protocols": "Http2",
|
||||
"Url": "http://+:5003"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user