W systemie Windows istnieje narzędzie do gier Flash o nazwie Cheat Engine, które może przyspieszyć / spowolnić proces o wartość X, dzięki czemu czas potrzebny na wykonanie zadania w grze jest szybszy lub wolniejszy niż w prawdziwym świecie. Jest to szczególnie przydatne w przypadku gier opartych na czasie, które powodują, że musisz poczekać X czasu na ukończenie budynku, żniwa na ukończenie itp. Dotyczy to również gier, w których potrzebujesz, aby działały wolniej, abyś mógł bronić przed kilkoma wrogami (gry Zombie itp.) lub grami, których trudność polega na tym, jak szybko można coś ukończyć.
Ale to nie ogranicza się do internetowych gier Flash. Cheat Engine może także przyspieszać / zmniejszać inne gry (Half-Life, Quake 3 itp.).
Czy jest na to sposób w Ubuntu?
Oto opcja SPEED HACK , o której mówię, używając narzędzia „Cheat Engine” w systemie Windows i jest to opcja, że 99,99% użytkowników Cheat Engine używa Cheat Engine do:
Powinienem wspomnieć, że nie szukam metody, aby zatrzymać proces co milisekundę (jak spowolnienie przeglądarki Firefox lub Chrome zamiast spowolnienia gry Flash). Na przykład spowolnienie Firefoksa nie działałoby, ponieważ spowalnia również wszystko inne, więc nie byłby to hakowanie szybkościowe, a bardziej spowolnienie całego procesu, w tym wszystkich działań użytkownika. Zasadniczo wszystko byłoby takie samo, tylko wolniejsze. To samo dotyczy przyspieszenia procesu.
Szukam sposobu, aby to zrobić w przypadku gier Flash opartych na sieci Web i / lub gier emulowanych przez Wine.
źródło
Odpowiedzi:
Krótka odpowiedź, nie. Nie ma 2x przycisku do planowania procesu. Najlepsze, co możesz zrobić, to użyć cgroups do tego, co Cię interesuje, aby uzyskać więcej czasu procesora, kosztem innego procesu. Jeśli musiałem zgadywać, powodem, dla którego speedhack nawet działa, jest to, że robi to biznes, manipulując środowiskiem wykonawczym Flash lub po prostu nazywając go maszyną wirtualną. Nie chodzi o to, że przyspiesza program, zmienił podstawowe parametry, na których opiera się cała maszyna wirtualna. Przypuszczam, że to samo byłoby możliwe z czymś takim jak Java lub Python.
No cóż, myślę, że będziesz musiał nadal oszukiwać Farmville na Windowsie. Wstyd.
źródło
Mogą one pomóc spowolnić procesy, ale nie przyspieszyć ich ...
1) SIGSTOP i SIGCONT:
kill
Komenda może wydaćSTOP
, aCONT
sygnały do procesu z danym PID. Użyłem go wcześniej do „wstrzymywania” i „ograniczania” skryptów Pythona i działa dobrze w tym celu.Oto przykład w skrypcie bash (przekaż PID odpowiedniego procesu jako parametr wiersza poleceń):
Te sny (w sekundach) musiałyby spaść do znacznie mniejszej ilości, aby zmniejszyć szarpnięcie, ale dłuższy interwał czyni to bardziej oczywistym dla testów.
Gdy będziesz zadowolony z określonego przedziału czasowego, możesz dostosować współczynnik snu za pomocą zmiennej.
2) Inną możliwością ograniczenia przepustowości jest „cpulimit”:
Aby ograniczyć firefox do 30% CPU:
źródło
Sugerowałbym kilka rzeczy. Jeśli rzeczywiście jest to farmville / coś granego w sieci (jak sugeruje ppetraki), uważam, że jedną z dróg jest przejście drogą fatmonkey (jest to platforma umożliwiająca uruchamianie wszystkich skryptów opartych na javascript, aby umożliwić bardziej zaawansowane dostosowywanie na wszystkich poziomach przeglądarki / renderowania strony). Nie mniej, przeczytałem wszystkie inne odpowiedzi bardzo szybko i, co zaskakujące, nikt nie wspomniał o Winie http://www.winehq.org/documentation .
Mówiąc dokładniej, jeśli normalne wino nie działa (co udało mi się sprawić, że działa, najlepiej wypróbować wersję 32-bitową), cała nadzieja nie jest stracona, ponieważ brzmi to jak idealny kandydat na rozszerzenie / dodatek Wine „esque program” „Wine-Hacks” zachęca użytkownika do przejścia przez proces instalacji różnych programów spełniających określone wymagania / etc ... (jest to bardzo łatwa droga, jeśli tradycyjna konfiguracja wina nie działa ). Jest to interesująca sytuacja i ważne jest, aby pamiętać, że linux ogólnie daje użytkownikowi znacznie większą platformę do dostosowywania i dostrajania różnych procesów / wątków / itp. Na wszystkich poziomach ... Jednak duża ilość odczytu zazwyczaj pochodzi z to. W perspektywie niższego poziomu można, jeśli gra korzysta z komunikacji międzyprocesowej, dostosować prędkość gniazd ('vmstat' / '
Ale patrząc na twój obraz i sam pobierając aplikację, rozumiem, jak działa aplikacja, a także fakt, że czyta fragmenty pamięci i skanuje adresy pamięci / etc ... wymyka się temu, że robi to bardzo dobrze , podkręcanie komunikacji pamięci / międzyprocesowej na niskim poziomie (jednak idąc tą drogą stworzyłbyś własną hacką wersję „Cheat-Engine”, można to bardzo łatwo zrobić za pomocą gdb (gcc-debugger, programista / narzędzie bezpieczeństwa, ponieważ wykonywanie tego typu zadań jest częstą częścią pracy programisty, aby lepiej ocenić, jak działa aplikacja / jej ogólna wydajność., działa podobnie w bardziej ograniczonym zakresie). Wystarczy użyć innego narzędzia do kontroli pamięć / sekwencjonowanie komunikacji na poziomie gniazd. Scenariusz Wine zadziała i wypróbowałem go krótko (jednak niewiesz, w którą grę celujesz, lol !!).
Podsumowując, abyśmy byli pewni, jednym ze sposobów byłoby ponowne ładowanie procesów / wątków procesów (zadań) w Linuksie / i lokalizowanie różnych adresów pamięci oraz bitów używanych w komunikacji międzyprocesowej / gniazdowej za pomocą narzędzi / lub debuggera ( już wspomniane). Następnie inny bardziej podstawowy sposób, który wykorzystywałby logikę „Cheat-engine”, samego w środowisku innym niż Windows, poprzez zainstalowanie go z Wine, gdy Wine uruchamia aplikację i zarządza nią w procesach / wątkach wewnątrz, więc jest tak jak jeśli program jest uruchamiany w samym systemie Windows. Program Wine znajduje się we wszystkich dystrybucjach specyficznych dla Ubuntu, które widziałem („apt-get” / „aptitude”, aby zainstalować Wine). Dodatkowo, innym narzędziem do debugowania / ulepszania gier opartych na Flashu / etc ... jest Flashbug (wariant firebug, podobnie jak Greasemonkey jest używany w Mozilli) Powodzenia i na zdrowie !!
źródło