#Local server
1 messages · Page 1 of 1 (latest)
I am interested in knowing about this as well... From the documentation in the GitHub repos, I can see quite a bit of the code is written in Go, but what are the high-level steps to get the server set up on a local machine? I would like to host a private server for playing Splatoon with my friend
I am new to the the project, but from what I understand, the high level repos that need to work together to create a private server for a game are (here I am using Splatoon as an example):
https://github.com/PretendoNetwork/account - Docker with NodeJS
https://github.com/kinnay/NintendoClients - Python3
https://github.com/PretendoNetwork/splatoon - Go
I would appreciate some help in setting up these and any other repos with some pointers towards configuring them properly to work together! As I have some development experience under my belt, I look forward to contributing in the future! (once I have an understanding of how to set this up in the first place, of course :-D)
I would also like to know how to run another instance, but the documentation seems to be a little lacking
I'd ask someone like @modest kettle
i wanna know too (saying so i can follow the post)
The documentation is lacking indeed, but this is by design right now. Not for malicious reasons but for the benefit of the users. Right now the servers aren't exactly in states where we can confidently put them in the hands of average users, and it's mostly geared towards developers who already know what they're doing
This is because the underlying architecture changes so rapidly that sometimes even the core team struggle to get things updated. We are very steadily moving towards having a good architecture drafted up, after which we will write better hosting documentation. One of the biggest changes coming is the move to Dockerize everything with the help of @lament estuary so that we can, ideally, just supply you all with single Docker commands for each service
Another challenge with self-hosting and providing documentation is just the sheer number of features each service can have and what other servers it needs to talk to. For example, you could just spin up an instance of the account server and Splatoon. But because Splatoon also relies on BOSS for maps and their rotations, you'll need an instance of the BOSS server. To get the console to talk to the BOSS server you need to have the connection going over a downgraded TLS connection using TLS 1.0 or 1.1 at most (by default most everything uses 1.2 these days). There are many solutions to this, such as:
- Running BOSS in a Docker container running an older version of Linux with TLS 1.1 support (works, but you lack all modern security updates on the box)
- Run a dedicated TLS proxy (works, but complex to setup as most crypto tools have dropped support for generating certificates with TLS 1.1 and below)
- Use a tunneling service like the one provided by Cloudflare (this works and is what we use in production, but it's not a free solution)
These are all things we have to consider when writing documentation, so it will be quite some time before we have anything we will be happy with
Also you don't need NintendoClients for anything here, that's a tool not even made by us
taking a look at this, option 1 seems to be the best for locally testing servers imo, because security updates arent super necessary for just running a server on your local network (thats what i would do atleast)
The servers themselves are not opinionated about it, it's whatever you want to do in your own setup
If you wanted to I'm sure you could even modify the patches to completely ditch SSL altogether and use straight http for everything, removing the need for any TLS fuckery. Though I wouldn't recommend that
Thanks for the reply, that gives a clearer big picture. Yes, a Docker container with all config would be the best thing! I would suggest freezing one version of dependencies that work well together in their current state (which you probably already have on the production server) and make a minimal set of instructions to get started. I see a lot of info already documented regarding the reverse engineering side of things, so congrats for that! It's just all of the repos with code are open source and staring me in the face, if only we had a bit more info on getting started... 😅 Anyway looking forward to updates!
Awesome! Will be looking forward to the Docker setup when my server stops being on fire and progress is made
For now though my patience will probably get the best of me and I'll be trying and figuring out how to get a setup 😛
Good evening and hello can you just tell me what application to install for local because I don't really understand the
It's not simple at all
I understand but it bothers me a lot
but I had a video that shows how to do it would be much simpler for me by the way
What i was wondering that mk8's server was updated but i also noticed that it didn't got pushed to the mk8 repo. i'm not sure if the mk8 server isn't a state to push it to the repo or maybe it was forgotten to push it to the repo. what i also researched is that most golang servers (mainly auth and gameservers) doesn't have the .env file (which is like a config file if somebody is asking) because seems like .gitignore is ignoring .env to be uploaded to the repos but maybe couldn't it just been solve when for example example.env would exists instead me trying to find the os.Getenv variables on every code? also i don't really think that a local server works because it needs HTTPS which thankfully inkay has the cert patches to get let's encrypt's and google's SSL Certs working. one other thing that i'm kinda confused about juxt-ui server is how media/images are stored because i see mii.olv.pretendo.cc and also cdn.olv.pretendo.cc exists. i do know that S3 storage is being used and i also know that MinIO exists but the mii and cdn subdomains aren't mentioned on the juxt-ui code but i might miss something i don't know.
As I said there is not just one "application" to install. I went over the complexities of it already above your message
You're confused because there's a lack of documentation. Which I have already said is intended, since the servers aren't in a state where they can really be self-hosted right now. I already went over all of thise above
About the confusion it is true but what about updating the mk8's repo?
ok I'm sorry but I really want to create a server for 3ds and wii u by the way
I mean i have server knowledge but mongodb could be my problem because i never used it. I used more mysql and some postgresql to some servers
Mainly you need to use a combination of docker compose for mongodb, with normal go compilation for the friends server, account server, and anything else (that's atleast what I tried)
I wanted to know can it be a guide to create a 3ds server and wii u
they're gonna make one at some point, but not rn
can i send the link just to show you?
sure?
well either I see some here or private message to show you ?
Sorry for replying to old thread but have you ever got answer on that one, seems like repo is still outdated....