Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

Hello nolram,

 

Yes you can display information like online players and similar on your website. Just parse the file players.xml.

 

Your extended statistics like killed zombies and players are possible but not implemented in the scripts of Alloc.

Killed animals aren't possible without doing some weird stuff.

Link to comment
Share on other sites

Has anyone tried out the new Releas (v.31) yet? Is it stable? :D

Short answer is probably: no ;)

But I have been playing on a server for over a week which already uses the dedicated server build. And as that's the only difference for v.31 I would call it "stable" :D

 

Regards,

Chris

Link to comment
Share on other sites

Just released v.32 which also includes the server fixes.

 

 

@nolram:

Statistics like: Number of zombies killed, number of players killed. And if possible number of animals killed (rabbit, pig, etc ...)

With the server fixes running you can query information with the "lpe" command as long as players are connected (e.g. on a regular base by cron and after they connected with a playerConnect hook).

Link to comment
Share on other sites

This sounds awesome :D Maybe I'll have a got at it tommorrow.

 

Im currently having problems with people having weird nicknames (as in weird characters, maybe russian?) joining the server and thereby breaking the players.xml logging, any idea how I could fix this?

For example the following nick: :و˜¯ن¸چ˜¯ (I removed parts of it for anonymity, so it isnt the actual nickname)

Link to comment
Share on other sites

I appreciate the work, but do you have directions on not using your script? Your manual process still requires people to run a script. I don't think it is smart to use a random script on the internet that needs to run as root. I can go through all the scripts and see what they are doing I guess, but seems like there should be an actual manual process for people that like things set up a certain way and want to actually do it manually.

 

Thanks again.

Link to comment
Share on other sites

Hi tekkitan,

 

I do understand your concerns. But right now there's just a few things that have to be run as root (e.g. engine-updating and alike as you would not want that a normal user account could read your Steam login data either ;) ).

So if you don't trust me and don't want to check the scripts you'll have to do it on your own (though you could obviously still look on the scripts how I do stuff ;) ). Unfortunately writing just another manual on how to run everything manually is nothing I have the time for. Especially as more things could go wrong and then I would get questions on why something is not working and I could not even follow on what those people did exactly.

 

I might be answering minor questions on specific topics of running the game on Linux but I won't write a complete howto for completely manual usage.

 

 

Regards,

Chris

Link to comment
Share on other sites

is it possible to add prefabs to the game and use your this script? I have everything running well (thanks, by the way) and I added a few prefabs and updated the prefab xml file, but they're not appearing when I start up the server

 

one other issue I ran into was that I deleted an instance, and in the process of creating a new one, I was not allowed to use the same port number (script said it was already assigned to another instance which was the one I deleted)... not a big deal, just wanted to make you aware of it

 

thanks chris for all you hard work

Link to comment
Share on other sites

Hi pinkpagan,

 

the scripts don't alter the behavior of the game (besides the server fixes but those don't really interfere with the *behavior* either). The only thing to be aware of is that updating the engine obviously can revert changes you did to the game's files.

 

I haven't really worked with prefabs or any other modding stuff but don't changes to the XML files and such need to be done on the client too?

 

 

Regarding the deletion of an instance: If you delete an instance by the 'instances delete' command it removes the whole instance folder. If that does not succeed (though I can not imagine any reason for that ;) ) and the config.xml stays there this could happen. I do not see any other reason this port check could fail afterwards :(

If that happens again please check if there were any errors when running delete instance or if the old instance folder still exists.

 

 

Regards,

Chris

Link to comment
Share on other sites

Hi tekkitan,

 

I do understand your concerns. But right now there's just a few things that have to be run as root (e.g. engine-updating and alike as you would not want that a normal user account could read your Steam login data either ;) ).

So if you don't trust me and don't want to check the scripts you'll have to do it on your own (though you could obviously still look on the scripts how I do stuff ;) ). Unfortunately writing just another manual on how to run everything manually is nothing I have the time for. Especially as more things could go wrong and then I would get questions on why something is not working and I could not even follow on what those people did exactly.

 

I might be answering minor questions on specific topics of running the game on Linux but I won't write a complete howto for completely manual usage.

 

 

Regards,

Chris

 

Thanks for the reply. Steamcmd does not need to be run as root. I create users for each game server I run on my server. I run steamcmd just fine without root as those users. No one else has access to these users but me.

 

I don't understand why you wouldn't have time though. You know what the scripts are doing. It can't be that hard to just explain what they are doing so people don't have to run untrusted scripts. And I mean no offense. I don't trust ANYONE, not just you :) I work in network security so I am very cautious with everything I do.

 

Plus I have my own way of organizing my game servers, installing files into /usr/local and /etc are not one of them.

Link to comment
Share on other sites

Steamcmd does not need to be run as root. I create users for each game server I run on my server. I run steamcmd just fine without root as those users. No one else has access to these users but me.

Sure, SteamCMD does run fine that way ... but it's generally easier to access files that belong to a normal user than files owned by root. So I trust that ownership more than I would ever trust a normal user account. Also, if you use the same account to run the game as you do for installing it at least that user (and therefore the game itself) has access to the Steam account information -> security hole in the game leads to possible leak of your steam data (which is my highest concern) ;)

 

I don't understand why you wouldn't have time though. You know what the scripts are doing. It can't be that hard to just explain what they are doing so people don't have to run untrusted scripts.

Well, sure I do ... and sure I could write about most of the stuff. But having that information as kind of a tutorial means you also get people using that which *always* leads to some people not knowing what they do. And that obviously leads to questions and hassle if something does not work as expected. You don't even want to know what kind of questions I got so far ;) (though I don't mind at the time as I provide a tutorial so I provide the support if something does not work. Also those questions sometimes help to improve parts of it)

 

And I mean no offense. I don't trust ANYONE, not just you :) I work in network security so I am very cautious with everything I do.

Don't worry, I do respect that. I would not do myself if I was not easily able to check (or just did not want to bother spending that time) if the stuff is trustworhty ;)

 

Plus I have my own way of organizing my game servers, installing files into /usr/local and /etc are not one of them.

Heh, there's always many ways to do something :)

 

 

Considering parts of the supported actions only executable as root (excluding e.g. updating the game cause of the above mentioned points regarding account data confidentiality) might change in the future. Installing such stuff into /usr/local is what this part of a typical Linux directory tree is for though ;D

 

 

Regards,

Chris

Link to comment
Share on other sites

Sure, SteamCMD does run fine that way ... but it's generally easier to access files that belong to a normal user than files owned by root. So I trust that ownership more than I would ever trust a normal user account. Also, if you use the same account to run the game as you do for installing it at least that user (and therefore the game itself) has access to the Steam account information -> security hole in the game leads to possible leak of your steam data (which is my highest concern) ;)

 

That's fine, but I also set the login to anonymous after I'm done installing/updating. Running things as root and you thinking they are secure is a bad thing to think. If a user has access to one of your user accounts, assume they have root on your system. We have penetration testers that do just that.

 

 

Well, sure I do ... and sure I could write about most of the stuff. But having that information as kind of a tutorial means you also get people using that which *always* leads to some people not knowing what they do. And that obviously leads to questions and hassle if something does not work as expected. You don't even want to know what kind of questions I got so far ;) (though I don't mind at the time as I provide a tutorial so I provide the support if something does not work. Also those questions sometimes help to improve parts of it)

 

I know what type of questions you have gotten so far. I can gauge from the replies in this thread. Honestly, I skipped all pages between the first and last. Your script is great for people that don't know their way around Linux, but the fact that 7DTD is using your script in their wiki as the default way to install their game server is just wrong. A manual process needs to be documented.

 

Heh, there's always many ways to do something :)

 

Yes, then why is your script being presented as the only way to do this something?

 

 

Considering parts of the supported actions only executable as root (excluding e.g. updating the game cause of the above mentioned points regarding account data confidentiality) might change in the future. Installing such stuff into /usr/local is what this part of a typical Linux directory tree is for though ;D

 

It is typical for packages in a Linux system, yes. But this isn't a typical package. If it was, you'd publish it to the apt repo. Like I said, not everyone does things the way you do (or the way I do for that matter) which is why having an actual manual process (*note NOT scripted) is better for everyone in the long run if this game is going to take off in popularity. The lack of Linux dedicated server information for this game means less people are going to run their own servers and that means less people likely to be playing the game. Why not help out the game community and document a manual process?

Link to comment
Share on other sites

..., but the fact that 7DTD is using your script in their wiki as the default way to install their game server is just wrong.

The fact just stems from the other fact that this is a public community driven Wiki (not something owned/run by TFP) where anyone can commit stuff to. And that Linux stuff was written by me too, not by TFP.

 

A manual process needs to be documented.

Well, for one there is no Linux support in this game at all atm. Even if there was it was a matter of "./7DaysToDie.x86 -serverconfig <somepath>". There's actually nothing more to really run the server. But nobody wants to do that manually, caring for having the process going into background, manage PIDs, update engine, ...

So why should anyone officially care about that? Also most people are happy with what there is mostly because it plain works. (And it's open so anyone can check what he's running as root ... and the game is never run as root).

Btw, I have not seen a dedicated game server so far that provided anything more than the plain binary either. Only some community driven scripts.

 

Yes, then why is your script being presented as the only way to do this something?

How about because I am the only one who cared to write up something at all?

If you are so concerned about it there's no one stopping you from documenting that. And as I said before if there are any specific questions I might help out but I won't do another public documentation just for something that most people do not need anyway and in the end consists of a single program execution.

 

It is typical for packages in a Linux system, yes.

Nope, packages do not go to "local". It's "local" for a reason. See e.g. the Linux Foundation on this or TLDP.

 

The lack of Linux dedicated server information for this game means less people are going to run their own servers and that means less people likely to be playing the game.

Like some of the games that are often run by private people? Like Valve games? Which do not have more documentation than "run the executable"?

 

This is just nonsense ... As I said before people want to run this thing, they don't want to set up their own infrastructure. Sure a few do, but they can just do it. What do you want to have documented as a completely manual setup besides "run the exe"? If it's manual there is nothing more to it, if you want scripts to help it ... well, I provided them with quite a bunch of documentation.

 

Caring about security is ok, but at some point you have to trust others (e.g. what about the Linux engine files I provide? I could have tampered with them too ... And those are not even open source as they originally come from Unity).

Running some management tasks as root is quite common too, the game is not run as root and the parts that do not have to be run as root will not be forever either (when I find a larger timeslot that is not used for more important stuff).

 

Well, I think that's what I have to say on this topic.

 

Also if you want to keep going this I would ask you to open a thread for that as right now this is cluttering this thread with offtopic.

 

Kind regards,

Chris

Link to comment
Share on other sites

Caring about security is ok, but at some point you have to trust others (e.g. what about the Linux engine files I provide? I could have tampered with them too ... And those are not even open source as they originally come from Unity).

Running some management tasks as root is quite common too, the game is not run as root and the parts that do not have to be run as root will not be forever either (when I find a larger timeslot that is not used for more important stuff).

 

Well, I think that's what I have to say on this topic.

 

Also if you want to keep going this I would ask you to open a thread for that as right now this is cluttering this thread with offtopic.

 

Kind regards,

Chris

 

I never said I trusted ANY of the files from you. I simply just asked for a manual process. That is all. I don't see this discussion as off topic however.

Link to comment
Share on other sites

I never said I trusted ANY of the files from you.

Well, sorry, but in this case the discussion is at a dead end anyway: There is no official Linux support so no way to run on Linux without using Wine or figuring out where to get the files required to run natively.

 

I don't see this discussion as off topic however.

It's not about my scripts, you want something that is unrelated -> It does not belong in a thread which is for discussion/help on my scripts.

/EDIT: If this was about you having suggestions on how to improve the scripts this would be on-topic (and I would gladly discuss them) but to all I read so far you are only interested in not using them at all so off-topic ;)

Link to comment
Share on other sites

Just for the record, imo it is definitely off topic :D

And I'm not getting why you dont just read through the scripts then tekkitan. You're basically saying you dont have time for that but at the same time expect alloc to take the time and document the whole process for you :D

 

But lets just leave it at that, I just wanted to write back saying that I havent run into any more problems since updating regarding problems with the nicknames. Also loving the lastIp info, its great fun checking out where your players are from^^.

Link to comment
Share on other sites

tekkitan, i read through your discussion with alloc regarding the script security. I am unsure whether you are talking about the script to *install* the game or the scripts to *manage* the game? or both?

 

i totally understand that you wouldn't want to run a random script from the internet as root and let it install things. BUT for the installation there is a manual process documented: https://7dtd.illy.bz/wiki/Installation#Manualinstallation if that is what you were looking for :)

 

regarding the managment scripts, i don't think we need a tutorial on what those do. the steamcmd is well documented and the 7daystodie executable behaviour is also documented (not so well but the windows guys get by just as well and most of their knowledge applies; e.g. telnet communication and cmd line arguments).

 

i honestly tried to understand the discussion between you two and it felt that you weren't talking about the same thing.

Link to comment
Share on other sites

i tryed to update to the new standalone dedicated server version AppId 294420 because the client-server version will loose support in the next updates mad mole said and now the native linux server version completly broken!

alloc, can you take a look in this issue? because your server-files 100% stable since you relase it 06-03-2014

i also not understand why they not relase the linux server-files in alpha 9

Link to comment
Share on other sites

Well, h3llghost is running the dedi build just fine for over a week and so am I on both my server and locally for testing purposes. So this must be a problem on your end like some weird incompatibility or broken files.

 

Without any further information from your side (e.g. logs) I can't do much about it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...