Jump to content

pedeathtrian

Member
  • Content Count

    284
  • Joined

  • Last visited

  • Medals

Posts posted by pedeathtrian


  1. Bypass:

    Only fail possibilitie for 2) is if hacker uses false Steam Id and make server think he is an admin.

    Steam ID is get on server with getPlayerUID, but may be a hacker can change something on his client making the server side command return an admin Steam ID.

     

    What do you think?

    Steam provides facilities to prevent this kind of attack. If the game server is connected to Steam and using the Multi-Player Authentication API, then hacker has to have full access to admin's Steam account to be able to fake the SteamID, that is correctly authenticate as admin.

    Whether Arma 3 uses this API I don't know for sure, but my bet it does.


  2. So a hacker can do it either, in a hacky way.

    Hacker can't change value of variable (here, script variable, not object's) local to server. Server has the last word in granting permissions and server has control system for checking if client has violated prohibitions or performed actions without even asking permission. Finally, punishment system, well, punishes.

    The key point is to make decision process inacessible to client (in your case object variables give client that access, therefore should not be used).

    Both positive cases (respawn and teleport by admin) are easily detectable by server. If someone else asks for teleport, then he's a hacker.


  3. Okay you have some data you associate with players and it is done by server-side code, and this data is used by this same server-side code and this data is never intended to be used/accessed elsewhere. Right?

    You can just create a simple associative array that maps user to their data (e.g. uid to their set of variables [p_bfr, no_ah]) and work with this array locally on server.

    No chance of changing values by user.

    You can build a whole server-side access list system which decides which actions to what objects can be performed by whom (the amount of sync traffic will increase).


  4. Turkey follows the same route as Russia.

     

    A (more or less) short majority is ready to get stability, 'traditional' Islamic values (read 'Orthodox Church values' for Russia) and a wishful dream of 'The Ottoman Empire strikes back' (read 'The Russian/Soviet Empire/Union' for Russia), at the expense of individual rights, freedom of speech, democratic and judiciary control over the governement, countervailing powers such as a free press and an autonomous judiciary system, an anti corruption system (the 'Gulen affair' have roots into high corruption of Erdogan system), and of course secularity, etc.

     

    Oh, and manipulating the Constitution to stay in power as long as possible.

     

    Stability over Liberty, to sum it up.

     

    First, Orthodox Church is not even close to even challenge secular state in Russia, while in Turkey

    they value the quran more than constitutions and laws.

    Thanks to communists, they made vast amount of russians atheists.

     

    Second, Orthodox Church experiences centrifugal forces in its area. Balkans, Ukraine, Georgia, Armenia... will not (and don't want to) fall back under the Moscow influence as Third Rome, center of influence of orthodox branch of christianity as it (to some extent) was in the times of Russian Empire. On the other side, islamic movements nowadays are more likely to be centripetal (where is center is another story though).

     

    Third, there's no communism on post-USSR space. There can't be any more Soviet Union. Eurasian Union is a joke, one can't unite anything having no ideology at all. One can only annex by occasion.

    The strongest ideology in most of former soviet republics is "convert your position into property", and one can't build or rebuild on this base.

    The Great Turan has more chances really.

     

    Don't get me wrong, I don't think either of routes can lead to something good, however I consider them different.

    I agree on other points, they seem to be similar.


  5. Transparency International puts Russia at number 119 of 167, so I can understand the situation is pretty bad. Add that to the problems with the freedom of expression (148 of 180 in the world press freedom index).

    But you sound really bitter. Have you considered moving abroad?

    TI have their numbers right. Worse, the trend is negative, but not for long, I hope. This can't last forever; I expect changes in next few years.

    Thx to corruption in education system, I had to quit university on 4th year (of 5), so I have no degree, but clean and out of this shit. That complicates moving abroad significantly. 

    And finally, and mainly, I love my country (I hate this state, not country) and I simply don't want to leave.


  6. why your country is STILL doing the same thing as it was done during USSR. Sotchi Olympics are also very well known to be a huge system of wide corruption, particularly in the building of sports facilities. The Olympics have never been so expensive, IIRC the cost of the motorway leading to it is a world record, which makes any specialist of Public Works smile.

    Same personalities still rule the country. Corruption, corruption everywhere. Everything is corruption in my country, not only Sochi Olympics.

    Russia itself is a world record in corruption. You have no idea how much I hate this.


  7. I'm very well sure China (and probably some other countries being successful in Olympics lately) has similar system (or even worse).

    But nobody cares, since there was no political contract other than ban russians from the Olympics yet. WADA recommended that "Russian government officials should also be banned from this summer's Games". What? Do they have government officials' probes too?  :D

    I don't say russian athletes never used doping, they probably did. Let's just check everyone. For now I can't see any major independent investigations in anti-doping agencies in countries other than Russia. I don't hear any former sport officials (other than Rodchenkov) saying that they doped entire team (why would anyone do this if not paid for?). And all this mouseholes in walls, KGBFSB agents, scratches on bottles and stuff... smell like good old antisoviet propaganda from 40 years ago. Surprisingly, nobody has eaten enough polonium yet.

    Why do we have "tamperproof lids" that can be "removed in a manner which does not break the seal"? WTF?

    Why don't we have multiple independent anti-doping institutions, having parts of the same probes available for analysis and comparison in case of different investigations? One for Eurasia, one for Eastasia and one for Oceania. This would be just fine.


  8. Well, how about recording all the data purely in modelspace coordinates. That way you only have to point the plane in the right direction and start the recording.

    It may lack accuracy though.

    This is actually very accurate.

    1. Record a precise gunrun from a plane approaching precisely from north, attacking a point [0,0,0] in VR.

    2. Place any object in any world at any position and direction from where plane should perform their gunrun; vectorUp must be [0,0,1]. Object must not move and/or rotate.

    3. Convert all recordings from 1 using modelToWorld command using object from 2 as model and record points as positions. This gives positions in AGL format, convert if BIS_fnc_UnitPlay wants them in other format.

    4. Use the data from 3 with BIS_fnc_UnitPlay. Plane will attack object from 2 from object's direction vector.

    5. Profit.

     

    UPD. For step 1 you can record a gunrun with following turn, so that recording ends at the same altitude and distance to target as when record starts; also plane should be faced towards target and have correspondent vectorUp. That way you can loop gunruns, starting next after previous (having all data converted to that new direction).


  9. After some strace'ing I found that arma3server tries to open extension in that order:

    1. In directories of all mods passed in command line (in reverse order), e.g. "/path/to/Steam/SteamApps/common/Arma 3 Server/mods/@allinarmaterrainpack/example.so"

    2. In root directory, i.e. "/example.so"

    3. In directories of stock addons installed, e.g. "/path/to/Steam/SteamApps/common/Arma 3 Server/{mark,heli,kart,curator}/example.so"

    4. In root directory again. (why?)

    5. In current working directory, that is "./example.so"

    This order does not look like standard procedure for locating shared objects, so I guess having arma3server with RPATH set or not set to $ORIGIN does not make too much difference (and it is set anyway). Therefore I think it is not enough to just place the .so in the same directory as server executable. Make sure you also set cwd to that directory before launching server.

    Extension is loaded on first use: file is opened, mmap'ed, then descriptor closed; that keeps file in process' list of open files (lsof); unmmap'ed on process exit.

     

    So I had extension loaded, NO confirmation of that appeared in server logs, therefore I suggest adding some debug messages into extension's code:

    /*
     * example.c
     *
     *   gcc -shared -fPIC -m32 -o example.so example.c
     */
    #include <string.h>     // strcmp, strncpy
    #include <stdio.h>      // fprintf
    
    static char version[] = "1.0";
    
    void RVExtension(char *output, int outputSize, const char *function)
    {
        fprintf(stderr, "%s:%d: RVExtension: output: %p; outputSize: %d; function: \"%s\".\n", __FILE__, __LINE__, output, outputSize, function);
        if (!strcmp(function, "version"))
        {
            strncpy(output, version, outputSize);
        }
        else
        {
            strncpy(output, function, outputSize);
        }
        output[outputSize-1]='\0';
    
        return;
    } 

    I have these lines in mission's init.sqf:

    ext_result = "example" callExtension "version";
    diag_log format ["ext_result = ""example"" callExtension ""version""; ext_result == ""%1""", ext_result];
    

    And I have this output in server log:

    example.c:13: RVExtension: output: 0xfff166e0; outputSize: 10240; function: "version".
    17:01:24 "ext_result = "example" callExtension "version"; ext_result == "1.0""
    

    Further checking, I run this command from client's debug console while in-game:

    ["example", "foo"] remoteExec ["callExtension", 2]
    

    Extension works only sever-side, therefore remoteExec with targets = 2. That causes following output:

    example.c:13: RVExtension: output: 0xfffba6b0; outputSize: 10240; function: "foo".
    

    Finally, when I stop the server, last lines I see are as follows:

    18:16:57 Extensions:
    18:16:57   example (./example.so) [] [] 

    Seems like everything works as expected (except confirmation of load).

    Tested on 1.54 legacy port server (for 1.54 legacy port clients), but I don't think things are broken in actual version.

    • Like 1

  10. Approach 1.

    1. Separate all your content into two categories: 1) common to any island (make more use of function files (and not files of many functions)), and 2) specific to some island

    2. Create some build system for your mission, which would build .pbo's for all islands (or only some) at once, e.g. batch file performing these steps:

    a) copy all common files to temporary build directory

    b ) copy specific files to temporary build directory

    c) build mission file

    d) remove temp directory

    e) repeat a-d for next island

    OR if your PBO toolkit supports, build mission taking files from different places when needed (according to build rules, e.g. using different command arguments, etc.).

    OR (as already suggested) construct full source trees using hard or symbolic links for common files (and separate files for specific)

    Using links with VCSs is seeking for trouble.

     

    Pros: no branches; easier modifying, maintaining,automating, changelogging, etc.

    Cons: build system (probably not a big problem; also could be part of repository)

     

    Approach 2.

    1. Separate all your content into two categories: 1) common to any island (make more use of function files (and not files of many functions)), and 2) specific to some island;

    2. Make a VCS branch for every island.

    3. Merge changes in only common files from changed branch to all other branches. Specific files are not merged.

    4. Build mission for every island from its own branch.

     

    Pros: easier to build mission for (specific) island, no need of build system.

    Cons: branches: keeping all branches intact and up-to-date gets harder with more branches/islands; harder to automate

     

    Git fits more for heavy branchwork than SVN, so I suggest first approach (or second with Git).

    • Like 2

  11. Don't you think this goes a bit too far? I'm not exactly a Putin admirer, but if I were Russian I think I would find him better than Yeltsin.

    No, I don't think so.

    I thought we were talking about situation where there was some decent press in Russia, and free media and all that stuff, right? Where people used to discuss problems substantially and not only in comparison to previous disaster. Where people could  easily get all information about authorities' crimes.

    Where did I get those 20%? It is not that hard to estimate part of russian society profiting from current situation. The rest is losing one way or the another. Why would someone support worse tomorrow? Because they're "explained" with the false reasons of their problems and that Putin is heroically fighting it. At the same time there's absolutely no chance of real public discussion of any real problem.

    Putin probably was better than Yeltsin in some period, but now he's off completely, irretrievably gone to parallel reality, unable not only to react appropriately to what happens in society but even to understand it.


    1. It is not a fake.

    2. Just people are satisfied with their current existence.

    3. Vote for the stability that now is

    4. because people are afraid of change for the worse.

    5. Putin is ready to maintain stability on the present.

    6. People are afraid of a repeat of the 90s due to any revolutions.

    1. It is.

    2. No. Just no. People in Russia are not satisfied with their current existence (excl. maybe Moscow and St. Peterburg).

    3. There is no stability nowadays in Russia since income of many households is connected to oil prices (and to insanity of authorities).

    4. This fear is unduced. Somehow everybody think that any change can lead to worse only. Here we have stability, where we don't need it.

    5. This stability (as in 4) he's ready to maintain for some time.

    6. See 4.


    Call me schizophrenic, but I'm sure Putin (et al.) would be brought to tribunal before his current term ends.


  12. My first guess is you're using amd64 architecture, so abovementioned command creates x86-64 binary, whereas arma3server is 32-bit.

    Try

    gcc -shared -fPIC -m32 -o example.so example.c
    

    UPD. This step may give you linker error, something like:

    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc.a when searching for -lgcc
    /usr/bin/ld: cannot find -lgcc
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: cannot find -lgcc_s
    collect2: error: ld returned 1 exit status
    

    In this case install the package containing these files for 32bit architecture, most likely could be found with command apt-file search 32/libgcc.a

    (lib32gcc-4.9-dev in my case)

    • Like 1

  13. Many of those persons were in big politics long before Putin got descent power. So it is disputable does he have any real influence on them...

    It is disputable, but it does not matter too much. If he had influence on them, he had to use it. He didn't. I don't need this Putin. If he had no influence on them, I don't need that Putin either.

    Of course, I don't need all those persons from long before Putin too.

     

    I can say about my region that abolishment of governor election did not change anything. The roads are still a nightmare, local economy is ruined etc. At the same time nearby Penza is very clean and good-looking city with growing industry. Despite their governor wasn't elected. The same goes to Krasnodar and Rostov (I've travelled through those regions some weeks ago and can compare).

    Welcome to Omsk! The top5 industry region that hardly makes it to top40 in terms of level of life (and loses its positions day by day).

    When you can't explain things with objective reasons, there are always subjective. I fed up with this already.

     


     

    so, assuming that Russia gets some decent press, how low does that 80% go? 50? 40? 30?

    My personal estimate is less than 20%.

     

    maybe it would also be fair to remember that the economy did improve with Putin, even if maybe not in the past years.

    There was no quality improve though, which was crucial to perform.


  14. So it's completely wrong to blame Putin alone for economy flaws

    I don't blame Putin personally, but also all his team, the people he set to their positions, including those you listed above. Putin set them to their positions, they fuck everything up. Not a Putin's fault?

    Putin abolishes governor elections in regions and sets loyal dumbasses to fuck up the rest and they succeed. Not a Putin's fault? This list is damn long...

     

    Also I wonder why private-owned oil companies prefer not to invest in developing and enlarging oil refining, leaving high prices on fuel, but selling crude oil abroad. The same goes to wood, metals etc. Due to greed and incompetence of both state and private top-management the country is left only with basic industry, selling cheaper resources and buying more expensive conversion products from abroad.

    It is not only about greed and incompetence. They completely don't associate their future with Russia. Look at their kids. They live and study in US and Europe, they barely speak russian. They are being prepared to make business there, and the business is based on actives stolen from Russian people one way or another.

    Why invest? Investment means you most likely get your money back after many years, while they have to be and they are ready to be estranged from money sources at any moment, pack their asses and flee.

    I don't care if Putin is the head of this gang or he is just representing their interests as president. I want those guys not only be dismissable, but also be responsible for what they did and still do. What they do? The only thing they really do is converting their positions into property. And this started in late USSR, so there's actually no point in blaming them for not performing their duties.


  15. They won only 1 game out of 7.

    The most awful team of the tournament won it...

    1 victory out of 7 matchs... so disgusting...

    What 1 game? They won 4 games in playoff, what makes them champions. I might have different stats.

    Football is about scoring, not about making impression. Something similar I felt in 2010 when Spain got their world cup winning all playoff matches with 1:0. I was not impressed even though they did actually win 6 of 7 games.

     

    And FFS, the hand of Eder ---》 yellow card to Koscielny???

    Gosh, the referee was blind...

    Agreed. Luckily, following free kick had not lead to a goal, otherwise there could be a scandal.

    From the other side, this is part of football too: referees don't have all these replays at hand.

    Anyway, you score to win, you score much more to win if referee is blind.


  16. Maybe I will surprise you but economy does not depend on Putin alone. Most of the companies are private, so it's up to private investors to decide what to do. It's not Putin's fault that private company Lukoil prefers to sell crude oil abroad and get fast income instead of its refining at domestic plants and invest in it. And it's not Putin's fault that local businessmen prefer getting fast income from selling crude materials and reselling imported goods rather than long-term investments in locally stationed manufacturing and development which can't bring them large income now together with low expenses.

    So you are willing to tell me that there were no such thing as oil dollars in Putin's Russia? And Putin had really no resources to make a quality shift in Russian economy?

     

    UPD.

    What private companies do is a completely separate story. But I'm very concerned about what president, government, and state companies did. They did nothing of what they had to. Or even the opposite.


  17. Something similar is done over at RHS. I wonder how their decal system works?

    RHS has limited amount of predefined positions for character textures (which are predefined too), which is totally not the same as arbitrary text. Consider the performance hit.

    I would concentrate on automatization of generation of full textures with required texts (and don't forget localization!), like scanning source code for key strings (or even having them in once place, e.g. in array in special file), then converting all found text into corresponding textures using 3rd party tool during build time. All can be automatized.

    Yeah, that doesn't look like generalized API.


  18. I'm a little bit late, but...

    As far as optimization goes, try to strive for a low algorithmic complexity. I've managed to create a system (still WIP) which achieves the goal in O(1) time.

    Complexity is O(n) now.

    How is that? If you have linear complexity, then it takes linear (not constant!) time to execute algorithm. And as long as it has linear complexity it is always easier to just loop through what allMissionObjects returns than spend additional time to create additional data structure (which is, in general, quite not optimal in your case).

     

    What you really need is probably KD trees. You can build a tree in O (N log N) and find neighbors in O (log N).

    The code? Check Â§21.2 of Numerical recipes, 3rd Ed.

    • Like 1

  19. Instead of last step (copying) you can use ciopfs to mount mod directories to required location with filenames lowercased. That is, you will have your files updated by SteamCMD in their locations, and they will automagically apper updated (and all filenames lowercased) in your server's directory.

    Alternativelly, you can use some script (there's plenty of them on the net) to build the mod directory hierarchy and sym-link the actual files with names lowercased (this way will work faster than ciopfs).

    Both ways produce little or no additional disk space waste compared to copying.

    • Like 2

  20. I understand where you are coming from, but don't you think it's a bit too simplistic to explain more than 80% support for Putin just with this?

    It stands not for all 80%, though a big part of it. When people can't organize themselves on their own, media does it quite well. When people do not have enough knowledge about their own society, how it works and how it lives, can't make a proper (or even improper!) outlook, media does it quite well. When people can't ask proper questions to find proper information about what is going on around them, media gives "proper" answers. People seek information that does fit their damaged brains and does not cause too much of cognitive dissonances (and ignore otherwise). In short, don't underestimate the power of media in a country like Russia. Picturing of Putin inside Russia differs very significantly from what is outside.
    Other big part of supporters is the people who profit from the situation: bureaucracy of all kinds and such. People who would be nothing in healthy society. The army of officials multiplied in past 15 years, and continues to.
    We also have people who does not actually support Putin, but counted in. Let's say, you walk down the street by your own business. When suddenly random surveyor pops out of nowhere and asks "Hey, do you have a minute for a small survey? How old are you? Where do you work? What's your position here? Do you praise the lord almighty Putin and his accomplices?". And even this way, I don't believe they get their 80%. I insist, 80% is fake.
    Administrative resource of course. People are made support Putin. Or they have different kind of problems. Mostly state employees.
    People who were taught to love their tsar since they were born.
     

    Wow, that sounds really negative. However, if it's true, you should watch your back. It's not hard to find out what machines posted on BIS site, and particularly the ones from Omsk (or another location, if Omsk is not where you live).

    Consider using something like Tor.

    Thx, my back is ok, it has spine ;)

     


    No. Just among the people growing discontent, because for the past two years, level of life has fallen by almost 2 times. (Because of falling oil prices and conflict in Ukraine). But I suspect that the CIA will warm up this discontent   :rolleyes:

    Bullshit, not because of falling oil prices, but because of it is still tied to them. Thanks, Putin, you had several years ot high prices to diversificate the economy and make it less dependable on oil prices. You did nothing if not worse. "Who if not Putin?". Damn, my cat could do better. At least she would steal less, would not quarrel with all neighbours, and would not start war with Ukraine.

×