a multiplayer game of parenting and civilization building
You are not logged in.
Pages: 1
When you set the server up, if you didn't add the symlink for the tutorial maps (ln -s ../../OneLifeData7/tutorialMaps .), the eves will spawn in some random location if they have not finished the tutorial. I mentioned the same problem to Jason. He told me about the symlink.
Additionally, you can always just let my script do it for you.
The main reason to have more than one server is for high availability.
to start you will probably want a second computer and a large cup of coffee
You could also just let the following script do it for you. However, this is a really nice guide that explains the process in plain English. Good job.
https://github.com/andrew-klassen/onelife_easy_install
During the installation you also need to add the tutorialmap symlink if you want the tutorials to load correctly.
ln -s ../../OneLifeData7/tutorialMaps .
Here is a tool I wrote that installs it for you. It was designed and tested on Ubuntu 18.04.
https://github.com/andrew-klassen/onelife_easy_install
Instructions are on the project's readme. You don't need to purchase the game to play it, but if you want to play on official servers you need to buy an account.
andrew_klassen wrote:If I can't think of something better within the next hour or so, I'm implementing this.
Before you write a deamon that polls the logs I sincerely suggest simply patching server.cpp somewhat instead. I've done this with my MARK / RECALL commands...
I definitely look into it, but I like the idea of editing Jason's code as little as possible because I don't have control over it, in regards to how it changes.
andrew_klassen wrote:By default servers are are setup to authenticate using Jason's ticketing server. So if this is the case, only Jason can see your key and email.
This is not true, just saying. As far I remember by default was no ticketing system at all and accept any connections... (could be wrong tough, I don't remember for 100%). Secondly, and this is sure, I've configured to use Jason's ticket server and I do get emails in the server logs. Not that I do anything with them or would ever plan to do so... Or that there would be a huge harm.. Not like going to sell it for 0.00000000001 cent or so to spammer.
I meant to just say key. I've corrected it.
Yeah I'm not sure how effective a curse system would be on a server with generally low population. If griefers want, they can outnumber the players at any time, which the curse "voting" doesn't deal with very well. My thinking is just getting several players I trust at various time zones SAY powers similar to cursing or banning.
This is a great idea.
As of right now, the tool only allows people who have access to the server to block and unblock users. However, I could easily have some script running in the background that would parse the server logs and look for SAY commands, then preform the blocks automatically. This would also simplify the the account creation process, by allowing trusted users to create accounts. I would just mark the trusted users with a column in the database with something along the lines of "admin".
If I can't think of something better within the next hour or so, I'm implementing this.
Wait, the keys exist on a custom server in clear text? Or just the ticketing server? My impression was the client encrypts the key, the encrypted key passes through the server to the ticketing server. I got 0 answers when I asked about it on discord unfortunately, and I wasn't about to spend 5 hours digging around to find out I know the emails exist on the custom server, but that doesn't feel like a huge deal.
Technically both.
A custom server can either be setup with a single password, ticketing system, or both (but this is uncommon).
- if server is setup with single password, the password is stored in clear text in the server's OneLife/server/settings/clientPassword.ini file
- if the server is setup using its own unique ticketing system, the emails and keys are stored in clear text inside a mysql database in the tickets table, in this case the emails and keys are unique to this server
By default servers are are setup to authenticate using Jason's ticketing server. So if this is the case, only Jason can see your key.
Here is a high level overview of how the authentication works.
1. A sha-1 hmac is created on the client.
2. The hash is sent to the server.
3. The server then pulls it's stored key and hashes it the same way as the client.
4. The hashes are then compared. If they are the same, then the client is granted access.
Fortunately for us, the code is open source and is located here.
https://github.com/jasonrohrer/minorGem … server.php
The function ts_checkTicketHash() is the part of the server.php that is responsible for ticket authentication.
Where this gets interesting is when you ask the question, "What happens if the client accidentally submits a sensitive key? Could a malicious server owner modify the source code to steal the hash?"
The answer to this is yes. Which is why I'm recommending not to submit any sensitive data to server you don't trust. With custom ticketing servers you don't have to use them with a valid email. You could just ask the server owner to make you an account like the following.
Username: andrew@server
password: <random_password_unique_to _this_server>
My automated server installation tool now has the ability to create a ticketing system. This allows server owners to create individual accounts for clients just like Jason does.
https://github.com/andrew-klassen/onelife_easy_install
This prevents users from "leaking" the server's password because clients no longer share a password. Clients individual access can also be blocked in the event that a player goes berserk, without needing to restart the server.
Security Warning: Do not use personal passwords or your official One Hour One Life key on custom servers because they exist on the server in clear text.
For those of you who want an automated solution checkout my github.
https://github.com/andrew-klassen/onelife_easy_install
The documentation is in the project's readme. You can even use it to set up your own full blown ticketing system. Support for the Linux client is automatically included. Tested on Ubuntu 18.04.
I created a set of tools for automating and maintaining the installation of the server. Below is the projects github. All the documentation/instructions are in the projects readme.
https://github.com/andrew-klassen/onelife_easy_install
Below is a youtube video of me demoing it.
Pages: 1