• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

Improvements for the dedicated server

Yeah, stats are basically summed up events. Problem is with storing that stuff, I'm still looking for a good data store solution (not a lot of free fully embeddable DB solutions for .NET to choose from it seems :( and I don't want more custom binary serialization or ♥♥♥♥ like that ;) ).
So damn that i did not find any time to do my "save to mongodb" project i was thinking about some time ago - but i would not have embedded it, so that dont cares. Anyway just googled quick, what about http://www.litedb.org/ ? I've just red the homepage and it sounds good to me.

 
So damn that i did not find any time to do my "save to mongodb" project i was thinking about some time ago - but i would not have embedded it, so that dont cares. Anyway just googled quick, what about http://www.litedb.org/ ? I've just red the homepage and it sounds good to me.
When we looked at the alternatives for storing data from console commands, we ended up using a MySQL DLL and storing in that DB. I know this isn't suitable here, but the reason I mention it is that we were limited to what version of .NET mono would be compatible with. We ended up using DLLs compatible with .NET 1 I believe to ensure compatibility.

I don't know what version of .NET Alloc's standalone mono fingy will work with, but it will restrict what DLLs can be used (possibly).

 
So damn that i did not find any time to do my "save to mongodb" project i was thinking about some time ago - but i would not have embedded it, so that dont cares. Anyway just googled quick, what about http://www.litedb.org/ ? I've just red the homepage and it sounds good to me.
Yeah, that's actually one of the five thing's I got opened here ;)

Was looking for something ideally more flexible though, like BrightstarDB. Unfortunately that one is .NET 4.

I don't know what version of .NET Alloc's standalone mono fingy will work with, but it will restrict what DLLs can be used (possibly).
It's not an issue on my end but the runtime, i.e. Unity's Mono which is limited to 3.5 :(

 
Yeah, stats are basically summed up events. Problem is with storing that stuff, I'm still looking for a good data store solution (not a lot of free fully embeddable DB solutions for .NET to choose from it seems :( and I don't want more custom binary serialization or ♥♥♥♥ like that ;) ).As for dmustanger's reserved thing: Whatever is accessible in code can in theory be used. In the end for players that should probably be about everything the game knows about (e.g. what you can see in your UI menus while playing).

Added for the next release. instead of "location=DONE" it will be "SHOWINVENTORY DONE" though.
Fully free, embeddable and most of all portable (no net connections needed).

https://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki

which is a .NET wrapper for https://www.sqlite.org/

Cheers

 
Last edited by a moderator:
Maybe I'm misunderstanding, but.... is there a need to store this data? I mean as a mod? I just need the data output to a log, and I can store the data in a database (as I planned to). Sure, not everyone is going to use my stuff, I get that. But I mean, to enable this in general, the data just needs to be output to the log, storage of it could come secondary.

- - - Updated - - -

Added for the next release. instead of "location=DONE" it will be "SHOWINVENTORY DONE" though.
Thanks!!

 
Maybe I'm misunderstanding, but.... is there a need to store this data? I mean as a mod? I just need the data output to a log, and I can store the data in a database (as I planned to). Sure, not everyone is going to use my stuff, I get that. But I mean, to enable this in general, the data just needs to be output to the log, storage of it could come secondary.
- - - Updated - - -

Thanks!!
In your case it may not be necessary as your app is watching the console the whole time (unless it loses connection - which will leave holes in your data), but I need to be able to query a playername/steamid/entityid in the console when needed rather than tail the logfile accumulating totals myself.

For me, something like `showplayerstats playername` returning a json encoded playerstats object is ideal.

I'm guessing this is better stored periodically/trigger-based in DB of some sort, rather than calling on the server process everytime to find out the required stats.

 
Last edited by a moderator:
Maybe I'm misunderstanding, but.... is there a need to store this data?
Kinda ;)

For your "what killed who" event it's not relevant, but for the general stats talk that's been going on here lately. As well as other logging (like maybe player tracking) or configuration stuff. I don't want to have to put a thousand random things in flat files ;)

 
Kinda ;) For your "what killed who" event it's not relevant, but for the general stats talk that's been going on here lately. As well as other logging (like maybe player tracking) or configuration stuff. I don't want to have to put a thousand random things in flat files ;)
Fair enough. =) I just missed the switch of scope that was being talked about, thanks!

 
Fully free, embeddable and most of all portable (no net connections needed).
Ok, correction on my previously stated requirements: "free fully embeddable managed-only DB solutions for .NET" ;)

Looked at that one before as SQLite obviously is a very widespread one for embedding but officially they don't even have Linux/OSX packages (even though it might just work with dropping the native libs for those in). Just noticed though that Mono has its own SQLite wrapper which is even shipped with Unity so that might work after all. Still not as flexible as e.g. a triple store :(

 
Would it be possible to get a "take" command? Basically it would function like the give command for the most part, but it would remove X items from the players inventory? Use 0 for all matching items, etc?

 
We're talking about software here ... so yeah, of course it's "possible". But requires a lot of core rework, I doubt that's gonna happen soon.

 
Hello, finally was able to register to the forums after waiting weeks, wanted to get acquainted with how you guys were modding and with who were doing the modding. I've been browsing the forums and and code just wanted to ask if you guys all work on patching the Unity Script bundle together or is it just a cluster truck of individuals writing their own patchers?

Especially with the SDX tool and how they build their mods? not bashing anyone just wanting to get a hold of what we have to work with.

I have built a dynamic Patcher and a basic framework for building mods with hooks but wanted to see SDX for myself but wanted my own background to learn and get a handle of how the game works internally, so far it's not too complicated just a lot of useless fall-through code and hidden strings from crypto.

I am a programmer myself and wanted to get into it but did not want to work on older versions. Alloc seems to be the guy that a lot of people go to besides Domonix, that I can tell. And was wondering what you guys had to say.

Thanks,

Hard_WireD

 
So, what is it this has to do with my mod? If you just want to know how this mod works: It's using the game's official mod API.

 
Argh, sorry, wanted to get it out this sunday but then we spontaneously went on a trip ... ;)

Should be up within the next hours.

 
Argh, sorry, wanted to get it out this sunday but then we spontaneously went on a trip ... ;) Should be up within the next hours.
Hey Alloc, no worries at all. I appreciate your making the changes! Thanks much, I'll get to work on using them tonight!

 
I have a little improvement for the webserver livemap.

Sometimes if there more than 1 player at the same location its hard to click on the green circle too look in there inventory.

Sometimes the green circle does not open or its realy anoying to look in inventorys for 5 player if i must click everytime on the green circle.

The player names is also random in that green circle... Its a game ;)

Maybe you can fix it or change it.

My Idea:

Make a option to look in inventorys via the player list.

Or

much better

A page with all inventorys each other.

thanks

 
Back
Top