EVE Online is launched with affinity to a single CPU core
Moderators: Lavish Software Team, Moderators
EVE Online is launched with affinity to a single CPU core
There is a huge content-patch in EVE Online, which added/changed a lot of features. Looks like it has affected IS as well. From now on, it launches EVE windows with affinity to CPU 0 only. When there are some 6 windows launched, core 0 is overloaded (obviously), while there rest cores are idle. This seems to be an IS-related bug, as launching EVE manually produces a window with affinity to all processors. Any chance you fix it anytime soon?
I've added the following:
proc 1 on
proc 2 on
proc 3 on
proc 4 on
to my .iss file launched from startup sequence. Didn't help at all... Is there any help on this command, apart from http://www.lavishsoft.com/wiki/index.ph ... :Processor ?
proc 1 on
proc 2 on
proc 3 on
proc 4 on
to my .iss file launched from startup sequence. Didn't help at all... Is there any help on this command, apart from http://www.lavishsoft.com/wiki/index.ph ... :Processor ?
Not sure if this problem is related to the previous one, but at least it didn't appear before...
Failed to install D:\Programs\InnerSpace\Lavish.InnerSpace.dll to the Global Assembly Cache. HRESULT=0x80070005
GetLastError=2
.NET initialization error: Could not install required Assemblies to the Global Assembly Cache.
Happens when I try to load the bot from a startup sequence .iss-file. Didn't happen before Odyssey content-patch of EVE / before I had to start to play with affinity.
Failed to install D:\Programs\InnerSpace\Lavish.InnerSpace.dll to the Global Assembly Cache. HRESULT=0x80070005
GetLastError=2
.NET initialization error: Could not install required Assemblies to the Global Assembly Cache.
Happens when I try to load the bot from a startup sequence .iss-file. Didn't happen before Odyssey content-patch of EVE / before I had to start to play with affinity.
The latest patch have brought the latter error back (failed to install blah blah). Basically, every auto-restart of a window with no human intervention means hangup. No delays help, too... though, manual repeating of the command does help.
Some kind of conditional check should help, I think (like "dotnet prog_name;wait 50;IF (!ApplicationIsActive("prog_name")) dotnet prog_name"). Is there something alike in lavish scripts?
P.S. Oh, and btw, thanks for fixing the affinity bug!
Some kind of conditional check should help, I think (like "dotnet prog_name;wait 50;IF (!ApplicationIsActive("prog_name")) dotnet prog_name"). Is there something alike in lavish scripts?
P.S. Oh, and btw, thanks for fixing the affinity bug!
Lax! THis ".NET initialization error: Could not install required Assemblies to the Global Assembly Cache" just disappears and reappears every now and then! Could you tell us at least some ETA for fixing it, or at least for adding some evil hack to avoid it? I mean, heck, the whole farm gets restarted by schedule and each window fails to load the bot, staying in this state indefinitely! What should we do - put enough efforts into finishing the version of our bot which doesn't require InnerSpace at all?
I've though bugfixing is included in any payment class... guess I was wrong.Lax wrote:If I didn't know any better I'd say it sounds like you're in the wrong payment class and demanding special attention.
That's the only way I've found so far to launch multiple commands/applications after game has started. What are other ones?Lax wrote:There's a multitude of ways you could load it, why does it need to be loaded "in a startup sequence .iss"
It's a bug that currently only you have reported, affecting only someone whos usage sounds like is currently violating the personal non-commercial use policy. That has nothing to do with "bugfixing", it has to do with you violating terms of the software license, and making demands as if I owe you.Lax wrote:
If I didn't know any better I'd say it sounds like you're in the wrong payment class and demanding special attention.
I've though bugfixing is included in any payment class... guess I was wrong.
Send it a command from the uplink?That's the only way I've found so far to launch multiple commands/applications after game has started. What are other ones?
Sometimes I wonder: when did you visit your home page for the last time? Are you aware of the fact that there are exactly zero links to ANY policies? The same could be said about the forum. The only agreements were made during account creation. It was like 3 years ago for me, but I remember restriction for 5 PCs/VMs max, from a single location. And yes, I've never break these restrictions. Moreover, I'm not even using my second comp anymore as CCP ban accounts faster than I recreate them to populate even a single PC (and every account creation costs real money, just in case you didn't know).Lax wrote:It's a bug that currently only you have reported, affecting only someone whos usage sounds like is currently violating the personal non-commercial use policy. That has nothing to do with "bugfixing", it has to do with you violating terms of the software license, and making demands as if I owe you.
Though, it doesn't matter to you, I guess. It's your right to enforce any service level you see most fitting upon any account; so I guess the only thing a user can do is to find ways to avoid using your products (which I'm going to consider now even stronger than before). Until then, let's go your way. Now that you've forced me to pay 5x more than before, without asking me for agreement... is it now my right to demand from you priority for fixing this goddamn bug already? I mean, hell, it's not like I've encountered it just yesterday, and came here to tell you that you owe me fixes until tomorrow! Instead, I was reporting it for WEEKS, and waiting patiently. So, I repeat my question now: when are you going to fix it?
I could have played EVE manually as well. Though, ughm, wait... why would I need InnerSpace, then?Lax wrote:Send it a command from the uplink?That's the only way I've found so far to launch multiple commands/applications after game has started. What are other ones?
To make things clear: the script has to be launched automatically. So far I don't see any ways to do it except for .iss file launched from startup sequence. In case there are other ways, I'm all ears. In case there are none - can you add some setting, at tthe very least, which would mean for the system NOT to stop the script upon the first exception encountered? This way, I would just run "dotnet something; wait 50; dotnet something". I guess it would be no harm, since in case first one gets launched correctly, the second one would just do nothing.
The personal usage restriction and policy link is presented to youSometimes I wonder: when did you visit your home page for the last time? Are you aware of the fact that there are exactly zero links to ANY policies? The same could be said about the forum. The only agreements were made during account creation. It was like 3 years ago for me, but I remember restriction for 5 PCs/VMs max, from a single location. And yes, I've never break these restrictions. Moreover, I'm not even using my second comp anymore as CCP ban accounts faster than I recreate them to populate even a single PC (and every account creation costs real money, just in case you didn't know).
1. Every time before you log in at https://www.lavishsoft.com/account/ (see "Before I create an account . . . . Will my purchase be restricted?" under the login boxes)
2. Every time before you paid every 90 days on the personal account version of https://www.lavishsoft.com/account/purchase (right underneath the payment options)
But, with proper selective reading I can see how you would completely miss all of that.
You're not aware that you can run a script or .net program in the uplink? Even one that launches the game instances for you, waits for it to load, and sends it a command? It's not even complicated to do.Send it a command from the uplink?
I could have played EVE manually as well. Though, ughm, wait... why would I need InnerSpace, then?
Open "EVE Online" "Eve Online Default Profile"
wait...
Relay is1 dotnet something
Here's another thing you can do just through your startup sequence. Use "timedcommand" to delay the command it so it's not executing during the time you say it fails. e.g. "timedcommand 5 dotnet whatever" will do it after half a second.
You could also run a script that runs your dotnet command for you, checks if the program is running successfully, and reissues the command if needed.
Lastly, I've made a change to the development build of IS where it should ignore the GAC install failure and possibly continue to load your program. The DLL should already be installed to the GAC, so it should work around the issue (but still produce the failure output). To use the development build, right click IS and select Patcher, tick "Download development (test) patches" and then close and restart Inner Space to let it patch up.
1. With help of cookies one just stays logged in for years, you know...Lax wrote:The personal usage restriction and policy link is presented to you
1. Every time before you log in at https://www.lavishsoft.com/account/ (see "Before I create an account . . . . Will my purchase be restricted?" under the login boxes)
2. Every time before you paid every 90 days on the personal account version of https://www.lavishsoft.com/account/purchase (right underneath the payment options)
2. That's how it looks for me:
I.e. there is nothing "right underneath", as you can see. So it's not quite about selective reading... dunno, maybe it's browser-related. In either case, don't you think it would be logical to just add a big bold link to something like "Rules and policies" on the main page?
Well, it's a bit more complicated than that... Once per day I launch bots manually. In this case - yes, everything can be launched easily. Though, when some force majeur (like disconnect, UI stuck etc) happens, bot has to restart itself automatically. Currently I do it by using "uplink exec open "${Game}" "${Profile}"". Reason: there could be multiple instances of (EVE+bot inside it) in RAM at the same time, so no external script can help, everything has to be handled from inside (as instances would look identical to any outside prog/script - it would be impossible to determine which of them has to be restarted). So the given instance of the bot launches this command, waits a bit and self-destructs. Everything I have left after that is game profile. It looks like this:Lax wrote:You're not aware that you can run a script or .net program in the uplink? Even one that launches the game instances for you, waits for it to load, and sends it a command? It's not even complicated to do.
Open "EVE Online" "Eve Online Default Profile"
wait...
Relay is1 dotnet something
Here's another thing you can do just through your startup sequence. Use "timedcommand" to delay the command it so it's not executing during the time you say it fails. e.g. "timedcommand 5 dotnet whatever" will do it after half a second.
You could also run a script that runs your dotnet command for you, checks if the program is running successfully, and reissues the command if needed.
Code: Select all
<Set Name="EVE Online 01" GUID="1610612741">
<Setting Name="Game">EVE Online</Setting>
<Setting Name="Executable">exefile.exe</Setting>
<Setting Name="Parameters" />
<Setting Name="Path">D:\Games\EVE\bin</Setting>
<Setting Name="Force Monitor">Application Controlled</Setting>
<Set Name="Startup Sequence" GUID="1610612761">
<Setting Name="load">run 01.iss</Setting>
</Set>
<Set Name="Pre-Startup Sequence" GUID="1610613271">
</Set>
<Setting Name="Preload Executable">some_prog.exe</Setting>
<Setting Name="Preload Parameters">someparameter</Setting>
<Setting Name="Preload Path">D:\Programs\InnerSpace</Setting>
</Set>
Code: Select all
function main()
{
wait 100
WindowText "sometext"
Windowsize 1032x795
WindowPos 640,0
console toggle
wait 25
dotnet botname
}
Taking into account everything said, things that are still unclear to me:
1) WHERE should such a script be placed? For example, may I add several <Setting Name="load">something</Setting> blocks to the game profile? Generally speaking, is there any manual/wiki page concerning what I may and what I may not change in the game profile?
2) Just to specify terms: in case it should be not an .iss script but rather something else - WHAT should it be?
Ahha, finally! Thank you, gotta test that! Hopefully, it solves the problem without any changes to scripts...Lax wrote:Lastly, I've made a change to the development build of IS where it should ignore the GAC install failure and possibly continue to load your program. The DLL should already be installed to the GAC, so it should work around the issue (but still produce the failure output). To use the development build, right click IS and select Patcher, tick "Download development (test) patches" and then close and restart Inner Space to let it patch up.
That's how it looks for you now because your account is no longer personal. You'll notice that I said ... "Every time before you paid every 90 days on the personal account version of"I.e. there is nothing "right underneath", as you can see.
The Startup Sequence already enforces that. The Startup Sequence, by definition, executes only when the game has actually rendered its first frame. (Subsequently the PRE-startup sequence happens before the game has done anything at all.) TimedCommand would make it happen AFTER that time. I gave this suggestion because you said running it from the startup sequence causes problems, and TimedCommand would separate it from the startup sequence. If it fails by running your script with TimedCommand then it's shown to not be related to the startup sequence.The script HAS to be launched once EVE instance has fully loaded, not before.
There's a configuration interface built into Inner Space which has all of the options that you can adjust in your Game Profile, including a startup sequence editor which allows you to enter multiple commands in the startup sequence. (i.e. yes you can have multiple entries as long as you dont give them the same Name, and you can see what it should look like by using the interface instead of manually editing XML.) There's nothing that you "may not change" in a game profile.1) WHERE should such a script be placed? For example, may I add several <Setting Name="load">something</Setting> blocks to the game profile? Generally speaking, is there any manual/wiki page concerning what I may and what I may not change in the game profile?
You already have a script though I wouldn't say you need a second one for this purpose