For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

Note on inventory and score saving at the HyperCoop servers

The official board of Hyper.nl Unreal Services. For anything regarding Hyper's website and Unreal game servers.

Moderator: Hyper

Post Reply
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

Last year I received several e-mail messages from players whose inventories and scores got lost at the HyperCoop servers. I have not been able to help these players. I very well know that it sucks to lose everything because it contributes many hours of playing to build that impressive score and inventory. It is not unwillingness from my side that I am unable to help but these are inherent limitations of the Old Unreal game. Many other Unreal coop servers don't even *try* save your inventory to disk and the ones who do likely have similar limitations. If you cannot stand the risk of losing everything, you may want to look for another game with true user accounts like Guild Wars and many others.

For years, Unreal and my servers saved scores and inventories to the server's memory (RAM) only and players could easily steal each others work by logging on to their names. With the GemDagger, JCoopZ and Unreal 227's features my server attempts to at the same time save your inventory to disk at every map change and as well prevent other players from stealing it. Technically, this is quite a difficult job to achieve in a game that never supported this. The current situation is that it works, but only most of the time. This means that your inventory and score can get lost. For example when:
  • Playing from different computer from before with the same player name. (Or changing things on the computer like operating system and computer name)
  • Playing with another player name
  • If the server crashed/restarted before map change, all progress is only saved to last map change.
  • When your Unreal.ini and User.ini files are read-only or deleted at all.
Thank you for your understanding.
Last edited by Hyper on Tue Aug 16, 2016 12:35 pm, edited 1 time in total.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
BobIsUnreal
OldUnreal Member
Posts: 805
Joined: Mon Apr 12, 2010 12:34 am

Re: Note on inventory and score saving at the HyperCoop servers

Post by BobIsUnreal »

i dont play there so its not a issue for me , but here are some suggestions.

alot of the issues can be resolved by disabling bnoinvenntory stealing etc.

while i know it is of no real interest to you-

it KNOW it would be fairly straightfoward to rewrite a modern equivalent more reliable system to save player scores/kills/inventory as a gamerules mutator that could even do all the stuff gemdagger does ( assuming that's part of the problem)


i originally made jsaver 2 years ago its purpose is to bruteforce save score/realkills from jcoop in almost realtime and recover them after a crash. it has know issues and its somwhat obsolete at this point.

but what you need is differnt then that -
you need a combination of 2 of my projects jsaver and statssys-generic - statsys provides the account system where clients creat a password accocated with the name and the combo is remembered based on there 227 uid hash- if they wipe there install, goto a differnt pc all they need do is validate the playername with the password they gave at creation time and the new hash is cached.

name changes can be addressed manually- user emails password and name to admin and admin replaces name in database.
jsaver would provide the score saving connector to jcoopz1
newer builds of stat system hook inventory recived callbacks , so any weapons you gain are recoved at verified login.

no its not somthing you are going to use / want/carefor - i am just pointing out that it is fairly simple to do


User avatar
[]KAOS[]Casey
OldUnreal Member
Posts: 4497
Joined: Sun Aug 07, 2011 4:22 am
Location: over there

Re: Note on inventory and score saving at the HyperCoop servers

Post by []KAOS[]Casey »

players could easily steal each others work by logging on to their names.
yeah. no. it was a measure of anti-tedium. Way back before any custom gametypes were created at all and even after some were, the name change thing was used explicitly to actually have a weapon other than the dispersion pistol after the inevitable server reset because 225f/gold were buggy as shit. I know I personally even went out of my way to give custom easy to remember names a bunch of inventory so people could join in and use that.

have fun potentially being DP only with near-zero ammo for anything else for several maps :)
jaden88

Re: Note on inventory and score saving at the HyperCoop servers

Post by jaden88 »

Hey remember that one time this problem has been solved for literally over 20 years in the form of logins with user/pass? :|?
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

Well, it would not be fair to just disable inventory theft prevention and allow anyone to take over each other's score and inventory. Some players really played for hundereds of hours or maybe even more to get what they have now.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
[]KAOS[]Casey
OldUnreal Member
Posts: 4497
Joined: Sun Aug 07, 2011 4:22 am
Location: over there

Re: Note on inventory and score saving at the HyperCoop servers

Post by []KAOS[]Casey »

Without a custom gametype or scorerecovery, once you disconnect your score is gone, as the score does not travel. Score linked to player inventory is a manufactured connection


skore. skore. skore.
User avatar
BobIsUnreal
OldUnreal Member
Posts: 805
Joined: Mon Apr 12, 2010 12:34 am

Re: Note on inventory and score saving at the HyperCoop servers

Post by BobIsUnreal »

would not be fair to just disable inventory theft prevention
but its fair to you for everyone including them to lose everything because it has flaws ehh.... ummm

so "somone took advantage of my earning" > " I lost many years worth of my earnings becuase no reason"?
Last edited by BobIsUnreal on Wed Aug 17, 2016 4:12 am, edited 1 time in total.
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

Yes, it is flawed, as said in the start post. But this is the most I can offer. Sorry. If you want true user accounts, you'll need to find a better game.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
[]KAOS[]Casey
OldUnreal Member
Posts: 4497
Joined: Sun Aug 07, 2011 4:22 am
Location: over there

Re: Note on inventory and score saving at the HyperCoop servers

Post by []KAOS[]Casey »

Wish I remembered this earlier;

I will revise my previous post as

"[url=http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1395035189]lol,[/url] [url=http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1314001633]really?[/url]"
Last edited by []KAOS[]Casey on Thu Aug 18, 2016 3:10 am, edited 1 time in total.
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

Wish I remembered this earlier;

I will revise my previous post as

"[url=http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1395035189]lol,[/url] [url=http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1314001633]really?[/url]"
LOL comments do not change the core of the matter. But well, I'm somewhat open to improvements. Over the years I have seen some possibilities come by, but they never left the beta, development or niche group state.

Before I even start considering to use one, it needs to be:
  • Finished and complete. Or better: mature.
  • Well-tested (by the developer and/or his/her testers). I'm NOT willing to beta-test this, I'm already beta-testing unreal 227 and that's enough for me.
  • Well-documented. Everything about the setup, usage and settings should be explained in a well-written manual, step by step, complete and well-written. (Like Winged Unicorn's or }TCP{Wolf's manuals)
  • Easy enough for me to use it. I have no knowledge about programming, UnrealScript, databases, DBMS, SQL, MySQL, SQLite etc. I have knowledge about Unreal servers and settings, INI files, PC's in general and the Windows OS.
  • Stand-alone / self contained. The last thing I need is another Windows service or 3rd party background program. (database engine).
  • Compatible with JCoopZ and Unreal 227j.
  • Stable, reliable and secure (Cheating).
  • It also needs to be able to convert or transit from the current stored scores and inventories to the new databases, because current players should not lose their stuff and scores in the transition.
  • It must turn out to be compatible with the GemDagger, and item which allows you to purchase items from your score. (Without introducing new ways to cheat) (And I'm NOT allowed to share my GemDagger mod versions as disallowed by the developer, Boodaflow).
So yes, I'm reluctant to change the current setup. Even when I know it has it's limitations. The inventory, score and shop system I have now is already the results of many years of intensive testing, communicating and fine tuning. I do not have the energy to do this again. And even when a tool exists that fits with the above requirements, it likely requires a lot of troubleshooting. My server setup is quite complex, more complex than most of the other servers, and this tends to have unforeseen negative consequences. And for myself: I do not have the amount of time nor energy I once had for Unreal. The years I tried everything new this great community produced are over. I try to be there and keep my projects alive while making small improvements but that is is. And for me, this is enough. While I may have the resistance/rigidity of a grandpa who complains about newfangled-junk like smartphones or the internet, I also think I prove to be somewhere among the most reliable services within this small community. And this resistance/rigidity and realized reliability are probably reflect some of the core values of my personality.

I've quickly seen some nice projects come and go by varying developers within the Unreal community, but as far as I've seen did they never left the stage of a proud developer showing off their skills. Sure, they probably work for them, and have some cool implementations and maybe are they in use by some server owners, but these are insider projects and miles away from a finished product for the general public.

Sorry, but this is by far not as simple as it seems.
Last edited by Hyper on Sun Aug 21, 2016 2:45 am, edited 1 time in total.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
[]KAOS[]Casey
OldUnreal Member
Posts: 4497
Joined: Sun Aug 07, 2011 4:22 am
Location: over there

Re: Note on inventory and score saving at the HyperCoop servers

Post by []KAOS[]Casey »

tl;dr
User avatar
gopostal
OldUnreal Member
Posts: 1005
Joined: Thu Jul 31, 2008 9:29 pm

Re: Note on inventory and score saving at the HyperCoop servers

Post by gopostal »

Why is this such an issue? OFC you can have true user accounts. Internal code can generate a password that is saved on the client as well as the server and then it checks this match before saving/restoring. You don't need player name or IP or anything.
Playing from different computer from before with the same player name. (Or changing things on the computer like operating system and computer name)
Playing with another player name
If the server crashed/restarted before map change, all progress is only saved to last map change.
When your Unreal.ini and User.ini files are read-only or deleted at all.
May I respectfully point out that you are shouldering a burden that is primarily the player's responsibility with most of those. If a player elects to reformat without saving their ini or force settings like 'read only' then that's on them and not you. They are adjusting the normal relationship between server and client and so it's up to them to deal with the results. Don't ever chase players, this allows them too much say over how YOU run YOUR server.

The only real issue I see above is score loss because of reset. That's easily fixed though. Just force a save every X minutes. Server crashes are rare and I wouldn't try to save anything during one of those. Too high a chance of corruption. In fact it might be a good idea to save a backup copy from within the code too. I do this with my Unreal.ini file and I've had to go to the backup several times to restore something.

This seems like much ado about not a really serious issue. Do you not have someone to fix your code Hyper? I'd be glad to help you if you don't.
I don't want to give the end away
but we're all going to die one day
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

tl;dr
Do you require me to spoon-feed it to you with this short attention span? It took considerably more time writing a well thought over reply than it will take someone to actually read it. Well, maybe I'm just wasting my time here addressing your comments.

Why is this such an issue? OFC you can have true user accounts. Internal code can generate a password that is saved on the client as well as the server and then it checks this match before saving/restoring. You don't need player name or IP or anything.
Playing from different computer from before with the same player name. (Or changing things on the computer like operating system and computer name)
Playing with another player name
If the server crashed/restarted before map change, all progress is only saved to last map change.
When your Unreal.ini and User.ini files are read-only or deleted at all.
May I respectfully point out that you are shouldering a burden that is primarily the player's responsibility with most of those. If a player elects to reformat without saving their ini or force settings like 'read only' then that's on them and not you. They are adjusting the normal relationship between server and client and so it's up to them to deal with the results. Don't ever chase players, this allows them too much say over how YOU run YOUR server.
Well, I'm just trying to help and prevent some foreseeable problems here.
The only real issue I see above is score loss because of reset. That's easily fixed though. Just force a save every X minutes. Server crashes are rare and I wouldn't try to save anything during one of those. Too high a chance of corruption. In fact it might be a good idea to save a backup copy from within the code too. I do this with my Unreal.ini file and I've had to go to the backup several times to restore something.
The server saved during map switch. To me, that is good enough. I do have some backups of the server and ini files. So in the rare case that a crash would cause a currupted INI file I can revert to my backup. I always make backups before installing a new build of Unreal 227 beta. Normally when the server crashes, only the state of the active map gets lost.
This seems like much ado about not a really serious issue. Do you not have someone to fix your code Hyper? I'd be glad to help you if you don't.
I don't have any code to fix. I only use 3rd party mods and software together. Mostly Unreal 227j, JCoopZ and a beta of the [url=http://www.hypercoop.tk/indexg.htm]Gemdagger[/url].
Last edited by Hyper on Sun Aug 21, 2016 2:50 pm, edited 1 time in total.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
gopostal
OldUnreal Member
Posts: 1005
Joined: Thu Jul 31, 2008 9:29 pm

Re: Note on inventory and score saving at the HyperCoop servers

Post by gopostal »

Seems to me that GemDagger is the place to fix this since it's already accessing the variables you want saved. How interested is the guy who made you the private version in fixing it to where you want it? It's 80% of the way there already, it just needs a bit of functionality added into the checks. If he's not interested then if he gives permission I'd add it for you. After your graciousness in posting the megacache I'd say that gives you preferential treatment in most things from now on as far as I'm concerned ;)
Last edited by gopostal on Sun Aug 21, 2016 3:05 pm, edited 1 time in total.
I don't want to give the end away
but we're all going to die one day
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

The Gemdagger version I use just saves the gemdagger score (I think this is the score in the current level but I'm not sure here) (Which differs from the scoreboard score) to server memory. Unreal 227 saves the actual inventory data including the gemdagger state to .ini and JCoopZ has some protections against inventory stealing. Most gemgagger versions also have some theft prevention but because JCoopZ does a better job on this I do not use this gemdagger feature anymore.

The best improvement would be if Unreal itself would save the inventory and score data to SQLite database instead of ini and have some form of good, reliable authentication. This then included the gemdagger state because it is just another inventory item to Unreal. (To the gemdagger, it does not matter if the state of it gets saved to RAM, InventoryData.ini or an SQLite database)

But this is a lot of work again and I'll not burden the U227 team and mostly Smirftsch with this. He really is busy enough with all my previous bug reports and in the past my feature requests. Their focus should be on finishing and polishing 227J for public release.
Last edited by Hyper on Sun Aug 21, 2016 3:28 pm, edited 1 time in total.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
gopostal
OldUnreal Member
Posts: 1005
Joined: Thu Jul 31, 2008 9:29 pm

Re: Note on inventory and score saving at the HyperCoop servers

Post by gopostal »

Are you talking about an external check to a remote php database? I've done that before (UTrustedPlayer network) but it's pretty unwieldy for what you really need. Simple stuff like just a few variables per player are much better saved on the gameserver. I can't speak for 227 as I'm not sure if this is something Smirf has addressed but in UT it was problematic to get the server to access a remote db for anything more than a very simple, rudimentary information request and even that caused lag and could crash the server unless you allowed it to wait for the information return.

Casey's links honestly look like the way to go if you must have a db. I'm surprised I hadn't seen that before. I'd have used the shit out of that had I seen it.
I don't want to give the end away
but we're all going to die one day
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

No, nothing remote or external. I think it should better be self-contained, as said in my [url=http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1471350930/11#11]earlier post[/url].

But for this thread I really only meant to communicate about a few limitations in the current score and inventory saving.
Last edited by Hyper on Sun Aug 21, 2016 8:56 pm, edited 1 time in total.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
User avatar
Leo T_C_K
OldUnreal Member
Posts: 3655
Joined: Sat Aug 27, 2005 6:24 pm

Re: Note on inventory and score saving at the HyperCoop servers

Post by Leo T_C_K »

a better game.
that exists?
He means not a better game, but a game that is connected to the BIG BROTHER and IS WATCHING YOU!
User avatar
subzer0
OldUnreal Member
Posts: 24
Joined: Sun Nov 09, 2014 12:37 pm

Re: Note on inventory and score saving at the HyperCoop servers

Post by subzer0 »

That sure sucks I had the second highest score and now it seems all that effort is for nothing.

But no matter time to start over again.
User avatar
[]KAOS[]Casey
OldUnreal Member
Posts: 4497
Joined: Sun Aug 07, 2011 4:22 am
Location: over there

Re: Note on inventory and score saving at the HyperCoop servers

Post by []KAOS[]Casey »

That sure sucks I had the second highest score and now it seems all that effort is for nothing.

But no matter time to start over again.
If only the server ran a persistent storage tried and true sqlite3 database instead of known buggy .ini storage.

If only.
User avatar
Hyper
OldUnreal Member
Posts: 3508
Joined: Fri Oct 11, 2002 5:41 pm
Contact:

Re: Note on inventory and score saving at the HyperCoop servers

Post by Hyper »

That sure sucks I had the second highest score and now it seems all that effort is for nothing.

But no matter time to start over again.
I only see your name (and possibly related names) with low scores in the servers InventoryData.ini file. I checked both HyperCoop and HyperCoop custom map servers.
The man who stopped a tsunami

http://www.hypercoop.tk
unreal://hypercoop.tk
Post Reply

Return to “Hyper's Unreal hideout”